#GESP1036. [GESP202406八级] 客观题

[GESP202406八级] 客观题

一.单选题(每题2分,共30分)

  1. GESP活动期间, 举办⽅从获胜者ABCDE五个⼈中选出三个⼈排成⼀队升国旗, 其中A不能排在队⾸, 请问 有多少种排法?

{{ select(1) }}

  • 2424
  • 4848
  • 3232
  • 1212
  1. 7 进制数 235 转换成 3 进制数是 ( )。

{{ select(2) }}

  • 1112111121
  • 1112211122
  • 1121111211
  • 1111211112
  1. 0,1,2,3,4,5 这些数字组成⼀个三位数, 请问没有重复数字的情况下, 有多少种组法

{{ select(3) }}

  • 180180
  • 120120
  • 8080
  • 100100
  1. V 个顶点、 E 条边的图的深度优先搜索遍历时间复杂度为

{{ select(4) }}

  • O(V)
  • O(E)
  • O(E+V)
  • O(log(V+E))
  1. ⼀对夫妻⽣男⽣⼥的概率相同。 已知这对夫妻有两个孩⼦, 其中⼀个是⼥孩, 另⼀个是男孩的概率是多少?

{{ select(5) }}

  • 2/32/3
  • 1/41/4
  • 1/21/2
  • 1/31/3
  1. 112024202420242024个数中, 共有( ) 个包含数字66的数。

下面有关说法,错误的是

{{ select(6) }}

  • 544544
  • 546546
  • 564564
  • 602602
  1. ⼆进制数 100.001 转换成⼗进制数是 ( )。

{{ select(7) }}

  • 4.254.25

  • 4.1254.125

  • 4.54.5

  • 4.754.75

  1. 以下函数声明, 哪个是符合C++语法的?

{{ select(8) }}

  • void BubbleSort(char a[][], int n);
  • void BubbleSort(char a[][20], int n);
  • void BubbleSort(char a[10][], int n);
  • void BubbleSort(char[,] a, int n);
  1. 下⾯有关C++重载的说法, 错误的是

{{ select(9) }}

  • 两个参数个数不同的函数可以重名
  • 两个参数类型不同的函数可以重名
  • 两个类的⽅法可以重名
  • 所有C++运算符均可以重载
  1. ⼩于或等于给定正整数n的数中, 与n互质的数的个数, 我们称为欧拉函数, 记作 Ø(n) 。 下⾯说法错误的是

{{ select(10) }}

  • 如果n是质数, 那么Ø(n) =n-1
  • 两个质数⼀定是互质数
  • 两个相邻的数⼀定是互质数
  • 相邻的两个质数不⼀定是互质数
  1. 已知⼀棵⼆叉树有 10 个节点, 则其中⾄多有( ) 个节点有 2 个⼦节点。 。

{{ select(11) }}

  • 44
  • 55
  • 66
  • 33
  1. 1

{{ select(12) }}

  • 55
  • 99
  • 1010
  • 88
  1. 下⾯程序的时间复杂度为
```cpp
bool notPrime[N] = {false};
void sieve() {
	for (int n = 2; n * n < N; n++)
		if (!notPrime[n])
			for (int i = n * n; i < N; i += n)
				notPrime[i] = true;
}

{{ select(13) }}

  • O(N)O(N)
  • O(NxlogN)O(N x log N)
  • O(NxloglogN)O(N x log log N)
  • O(N2)O(N^{2})
  1. 下⾯程序的最差时间复杂度为
int gcd(int m, int n) {
	if (m == 0)
		return n;
	return gcd(n % m, m);
}

{{ select(14) }}

  • O(根号n)O(根号n)
  • O(log(n))O(log(n))
  • O(n)O(n)
  • O(1)O(1)
  1. 下⾯程序的输出为

    #include <iostream>
    using namespace std;
    int main() {
    	int cnt = 0;
    	for (int x = 0; x <= 10; x++)
    		for (int y = 0; y <= 10; y++)
    			for (int z = 0; z <= 10; z++)
    				if (x + y + z <= 15)
    					cnt++;
    	cout << cnt << endl;
    	return 0;
    }
    

{{ select(15) }}

  • 9090
  • 9191
  • 710710
  • 711711

二.判断题(每题2分,共20分)

  1. ABCDE五个⼩朋友, 排成⼀队跑步, 其中AB两⼈必须排在⼀起, ⼀共有 4848 种排法。
{{ select(16) }}
  • 正确
  • 错误
  1. 已知 double 类型的变量 ab , 则执⾏语句 a = a + b; b = a - b; a = a - b; 后, 变量 ab 的值会互换。
{{ select(17) }}
  • 正确
  • 错误
  1. 一个袋⼦中有 33 个完全相同的红⾊⼩球、 22 个完全相同的蓝⾊⼩球。 每次从中取出 11 个, 再放回袋⼦, 这样进⾏ 33 次后, 可能的颜⾊顺序有 88 种。

    {{ select(18) }}

  • 正确
  • 错误
  1. 已知 int 类型的变量 ab 中分别存储着⼀个直角三角形的两条直角边的长度, 则斜边的长度可以通过表达式 sqrt(a * a + b * b) 求得。

{{ select(19) }}

  • 正确
  • 错误
  1. 在⼀个包含 v 个顶点、 e 条边的带权连通简单有向图上使⽤Dijkstra算法求最短路径, 时间复杂度为O(v2)O(v^{2}),可进⼀步优化⾄O(e+vlog(v))

    {{ select(20) }}

  • 正确

  • 错误

  1. N个元素的⼆叉排序树中查找⼀个元素, 最差情况的时间复杂度是O(logN)

    {{ select(21) }}

  • 正确
  • 错误
  1. C++语⾔中, 可以为同⼀个类定义多个析构函数。
{{ select(22) }}
  • 正确
  • 错误
  1. 使⽤单链表和使⽤双向链表, 查找元素的时间复杂度相同。

    {{ select(23) }}

  • 正确
  • 错误
  1. 为解决哈希函数冲突, 可以使⽤不同的哈希函数为每个表项各建⽴⼀个⼦哈希表, ⽤来管理该表项的所有冲突元素。 这些⼦哈希表⼀定不会发⽣冲突。
{{ select(24) }}
  • 正确
  • 错误
  1. 要判断⽆向图的连通性, 在深度优先搜索和⼴度优先搜索中选择, 深度优先的平均时间复杂度更低。
{{ select(25) }}
  • 正确

  • 错误