#GESP2024068K. GESP-C++ 八级客观题202406K

GESP-C++ 八级客观题202406K

一、单选题(每题 22 分,共 3030 分)

11、​​ GESP活动期间,举办方从获胜者ABCDE五个人中选出三个人排成一队升国旗,其中A不能排在队首,请问有多少种排法?

{{ select(1) }}

  • 24
  • 48
  • 32
  • 12

22、 7进制数235转换成3进制数是( )。

{{ select(2) }}

  • 11121
  • 11122
  • 11211
  • 11112

33、 0,1,2,3,4,5这些数字组成一个三位数,请问没有重复数字的情况下,有多少种组法( )。

{{ select(3) }}

  • 180
  • 120
  • 80
  • 100

44、 有V个顶点、E条边的图的深度优先搜索遍历时间复杂度为( )。

{{ select(4) }}

  • O(V)O(V)
  • O(E)O(E)
  • O(V+E)O(V+E)
  • O(log(V+E))O(log(V+E))

55、 一对夫妻生男生女的概率相同。已知这对夫妻有两个孩子,其中一个是女孩,另一个是男孩的概率是多少?

{{ select(5) }}

  • 23\frac{2}{3}
  • 14\frac{1}{4}
  • 12\frac{1}{2}
  • 13\frac{1}{3}

66、 从1到2024这2024个数中,共有( )个包含数字6的数。

{{ select(6) }}

  • 544
  • 546
  • 564
  • 602

77、 二进制数 100.001 转换成十进制数是( )。

{{ select(7) }}

  • 4.25
  • 4.125
  • 4.5
  • 4.75

88、 以下函数声明,哪个是符合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);

99、 下面有关C++重载的说法,错误的是( )。

{{ select(9) }}

  • 两个参数个数不同的函数可以重名。
  • 两个参数类型不同的函数可以重名。
  • 两个类的方法可以重名。
  • 所有C++运算符均可以重载。

1010、 小于或等于给定正整数n的数中,与n互质的数的个数,我们称为欧拉函数,记作 。下面说法错误的是( )。

{{ select(10) }}

  • 如果n是质数,那么 ϕ(n)=n1\phi(n)=n-1
  • 两个质数一定是互质数。
  • 两个相邻的数一定是互质数。
  • 相邻的两个质数不一定是互质数。

1111、 已知一棵二叉树有10个节点,则其中至多有( )个节点有2个子节点。

{{ select(11) }}

  • 4
  • 5
  • 6
  • 3

1212、 二项展开式 $(x+y)^n=x^n+nx^{n-1}y+\frac{n(n-1)}{2}x^{n-2}y^2+...+y^n$的系数,正好满足杨辉三角的规律。当时n=10,二项式展开式中 xy9xy^9项的系数是( )。

{{ select(12) }}

  • 5
  • 9
  • 10
  • 8

1313、 下面程序的时间复杂度为( )。

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(NlogN)O(N*logN)
  • O(NloglogN)O(N*loglogN)
  • O(N2)O(N^2)

1414、 下面程序的最差时间复杂度为( )。

int gcd(int m, int n) {
	if (m == 0)
		return n;
	return gcd(n % m, m);
}

{{ select(14) }}

  • O(n)O(\sqrt{n})
  • O(log(n))O(log(n))
  • O(n)O(n)
  • O(1)O(1)

1515、 下面程序的输出为( )。

#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) }}

  • 90
  • 91
  • 710
  • 711

二、判断题(每题 22 分,共 2020 分)

1616、 ABCDE五个小朋友,排成一队跑步,其中AB两人必须排在一起,一共有48种排法。

{{ select(16) }}

  • 正确
  • 错误

1717、 已知 double 类型的变量 a 和 b ,则执行语句 a = a + b; b = a - b; a = a - b; 后,变量 a 和 b 的值会互换。

{{ select(17) }}

  • 正确
  • 错误

1818、 一个袋子中有3个完全相同的红色小球、2个完全相同的蓝色小球。每次从中取出1个,再放回袋子,这样进行3次后,可能的颜色顺序有8种。

{{ select(18) }}

  • 正确
  • 错误

1919、 已知 int 类型的变量 a 和 b 中分别存储着一个直角三角形的两条直角边的长度,则斜边的长度可以通过表 达式 sqrt(a * a + b * b) 求得。

{{ select(19) }}

  • 正确
  • 错误

2020、 在一个包含 v 个顶点、 e 条边的带权连通简单有向图上使用Dijkstra算法求最短路径,时间复杂度为 O(v2)O(v^2), 可进一步优化至 O(e+vlog(v))O(e+vlog(v))

{{ select(20) }}

  • 正确
  • 错误

2121、 在 个元素的二叉排序树中查找一个元素,最差情况的时间复杂度是 O(logN)O(logN)

{{ select(21) }}

  • 正确
  • 错误

2222、 C++语言中,可以为同一个类定义多个析构函数。

{{ select(22) }}

  • 正确
  • 错误

2323、 使用单链表和使用双向链表,查找元素的时间复杂度相同。

{{ select(23) }}

  • 正确
  • 错误

2424、 为解决哈希函数冲突,可以使用不同的哈希函数为每个表项各建立一个子哈希表,用来管理该表项的所有冲突元素。这些子哈希表一定不会发生冲突。

{{ select(24) }}

  • 正确
  • 错误

2525、 要判断无向图的连通性,在深度优先搜索和广度优先搜索中选择,深度优先的平均时间复杂度更低。

{{ select(25) }}

  • 正确
  • 错误