- 已知三元方程 x+y+z=12,x,y,z 均为正整数,该方程正整数解的个数为()
{{ select(1) }}
- 定义递推数组 f[1]=1,f[2]=4,n≥3 时 f[n]=3×f[n−1]−f[n−2],则 f[4] 的值是()
{{ select(2) }}
- 数组 a[6]={2,4,1,6,3,5},前缀和数组 s 满足 s[0]=0,s[i]=s[i−1]+a[i],求区间 [2,5] 的区间和()
{{ select(3) }}
- 数组 a[5]={1,3,5,2,4},将下标 2 位置数字 +3 后数组变为()
{{ select(4) }}
- {1,6,8,5,4}
- {4,6,8,5,4}
- {1,6,5,5,7}
- {1,3,8,5,4}
- 有序数组 arr={1,4,6,8,11,14,17,20},L=0,R=7,二分查找 11,首次计算 mid 为()
{{ select(5) }}
- 式子 x2≥47,x 为正整数,x 最小取值为()
{{ select(6) }}
- 无向边集合 {(1,4),(2,3),(3,6),(5,7),(6,8)},图中连通块数量()
{{ select(7) }}
- 数字序列 1,3,5,2,4,7,冒泡排序第一轮(从左向右比较)交换次数()
{{ select(8) }}
- 在 C++ 中实现大整数加法,若字符串 A="3456"(低位在前高位在后存储),B="7892",执行加法后,结果的字符串(低位在前)是()(注:不考虑前导零)
{{ select(9) }}
- "11348"
- "12248"
- "10348"
- "11248"
- 在 C++ 中实现大整数减法(大数减小数),若字符串 A="20000"(低位在前),B="5678"(低位在前),执行减法后,结果的字符串(低位在前)是()(注:不考虑前导零)
{{ select(10) }}
- "14322"
- "15322"
- "14422"
- "15422"
- i,j 为整型变量,表达式 i−j 的含义是()
{{ select(11) }}
- i 加 j
- i 减 j
- i 乘 j
- i 除 j
- 数组 {8,6,4,2} 从大到小排序结果是()
{{ select(12) }}
- 2 4 6 8
- 2,4
- 8,6,4,2
- 4,2
- 数组 {3,7,1,5} 使用冒泡排序升序排序后第一轮前两个数字是()
{{ select(13) }}
- 3,7
- 1,7
- 5,7
- 3,1
- 代码:
int a = 20; int *p = &a; *p = *p - 7; 执行结束 a 的值为()
{{ select(14) }}
- 算式 3、6、9 三个数字任选两数相加,所有结果集合是()
{{ select(15) }}
- {3,6,12}
- {3,12}
- {6,9,12}
- {9,12,15}
- 递归函数:
int f(int n){ if (n<=2) return 2; return f(n-1)+f(n-2); } 调用 f(5) 返回值为()
{{ select(16) }}
- 数列:2,6,1,8,相邻两数相乘,结果依次是()
{{ select(17) }}
- 12,6,8
- 1,2,4,8
- 6,1,8
- 4,2,6,8
- 图节点 1、2、3、4,边集为 {(1,2),(1,3),(2,4)},BFS 遍历起点 1 的可能顺序()
{{ select(18) }}
- 1,2,4,3
- 1,4,2,3
- 1,2,3,4
- 1,3,2,4
- 9进制数字 8 转十进制结果()
{{ select(19) }}
- 对序列 {5,3,6,1,2} 进行升序排列,第一轮冒泡排序(从左到右)后的结果是()
{{ select(20) }}
- {3,5,1,2,6}
- {1,3,5,2,6}
- {3,1,2,5,6}
- {1,2,3,5,6}
- 数组 {5,2,9,1,4},删除下标 2 元素后剩余数组()
{{ select(21) }}
- {5,2,1,4}
- {2,9,1}
- {2,4}
- {2,1}
- 集合 {2,5,7},输出所有不重复的两数组合(无序对)是()
{{ select(22) }}
- (2,5),(2,7),(5,7)
- (2,5),(2,7)
- (5,7)
- (2,5)
- 关于 C++ 指针
int *p = # 下列说法正确的是()
{{ select(23) }}
- p 存储变量 num 的值
- p 代表变量 num 的内存地址
- 修改 p 的值会同步修改 num 的值
- ∗p 代表 p 自身的地址值
- 有序数组二分查找的核心优势是()
{{ select(24) }}
- 无需排序即可查找
- 时间复杂度 O(logn),查找速度远快于顺序遍历
- 支持无序数组快速检索
- 查找过程不需要循环
- 无向图连通块指的是()
{{ select(25) }}
- 图中一条单独的边
- 互相可达的一组顶点集合,与外部顶点不连通
- 图里所有顶点整体算一个连通块
- 仅包含单个顶点的区域
二、判断题
- C++ 中指针变量存储的是内存地址。()
{{ select(26) }}
- 二分查找只能在升序 / 降序有序数组上使用。()
{{ select(27) }}
- 无向图的边不存在方向,(a,b) 与 (b,a) 是同一条边。()
{{ select(28) }}
- 递归函数一定会出现栈溢出问题。()
{{ select(29) }}
- 冒泡排序每一轮都能把当前未排序区间最大值 “浮” 到末尾。()
{{ select(30) }}
- 数组下标只能从 1 开始,不能使用 0 下标。()
{{ select(31) }}
- 前缀和数组 s[0] 一般定义为 0,方便统一计算区间和。()
{{ select(32) }}
int *p; 未赋值时 p 存储有效变量地址,可以直接解引用 *p。()
{{ select(33) }}
- 两个数字相乘的结果一定大于两个数字本身。()
{{ select(34) }}
- BFS 广度优先遍历是一层一层遍历图节点。()
{{ select(35) }}