分类题库
C++编程题库
按题型、年份与知识点筛选,快速定位练习题。
题目列表
共 182 题
A67325
小杨正在爬楼梯,需要 n阶才能到达楼顶,每次可以爬 1阶或 2阶,求小杨有多少种不同的方法可以爬到 楼顶,横线上应填写( )。int climbStairs(int n) {
2025年
单选
A67324
假设有一个班级的成绩单,存储在一个长度为 n 的数组 scores 中,每个元素是一个学生的分数。老师想要找出 所有满足 scores[i] + scores[j] + scores[k] == 300 的三元组,其中 i < j < k。下面代码实现该功能,请问其时间复杂度是( )。int cnt = 0;
2025年
单选
A67309
函数 hasCycle 采用Floyd快慢指针法判断一个单链表中是否存在环,链表的头节点为 head ,即用两个指针 在链表上前进: slow 每次走 1 步, fast 每次走 2 步,若存在环, fast 终会追上 slow (相遇);若无环, fast 会先到达 nullptr,则横线上应填写( )。struct Node {
2025年
单选
A67308
函数 isPerfectNumber 判断一个正整数是否为完全数(该数是否即等于它的真因子之和),则横线上应填写( )。一个正整数 n 的真因子包括所有小于 n 的正因子,如28的真因子为1, 2, 4, 7, 14。bool isPerfectNumber(int n) {
2025年
单选
A67307
以下代码计算两个正整数的最大公约数(GCD),横线上应填写( )。int gcd0(int a, int b) {
2025年
单选
A67306
函数 sieve 实现埃拉托斯特尼筛法(埃氏筛),横线处应填入( )。vector<bool> sieve(int n) {
2025年
单选
A67305
函数 linearSieve 实现线性筛法(欧拉筛),横线处应填入( )。vector<int> linearSieve(int n) {
2025年
单选
A67300
下述C++代码实现了归并排序算法,则横线上应填写( )。void merge(vector<int> &nums, int left, int mid, int right) {
2025年
单选
A67292
二分查找依赖数据的有序性,通过循环逐步缩减一半搜索区间来进行查找,且仅适用于数组或基于数组实现 的数据结构。
2025年
判断
A67252
下⾯ init_sieve 函数的时间复杂度为( )。int sieve [MAX_N ] ;
2025年
单选
A67231
下⾯C++程序的输出为( )。#include <iostream>
2025年
单选
A67228
下⾯ count_triple 函数的时间复杂度为( )。int gcd(int m , int n ) {
2025年
单选
A67204
下列C++代码的时间复杂度(以 n 为自变量,忽略常数与低阶项)是( )。long long s = 0;
2025年
单选
A67203
下列c++程序实现了线性筛法(欧拉筛),用于在O(n) 时间内求出 1~n 之间的所有质数。为了保证每个合数 只被其最小质因子筛掉,横线处应填入的语句是( )。for (int i = 2; i <= n; i++) {
2025年
单选
A67199
当输入 2023 时,下列C++程序的输出结果为( )。#include <iostream>
2025年
单选
A67179
下面C++程序的运行结果为( )。
2025年
单选
A67159
关于以下C++代码,说法正确的是( )。
2025年
单选
A67131
下面C++代码实现了欧几里得算法。下面有关说法,错误的是( )。
2025年
单选
A67124
下面给出了阶乘计算的两种方式。以下说法正确的是( )。
2025年
单选
A67105
执行完下面的C++代码后, sum 的值是( )。int arr[2][3][2] = {
2025年
单选