#CP002. 信奥入学有基础测评【初步判断学习进度,然后再预约教练试听】

信奥入学有基础测评【初步判断学习进度,然后再预约教练试听】

  1. 【一级】在C++中 ,假设N为正整数2 ,则 cout << (N / 3 + N % 3) 将输出( )

    {{ select(1) }}

  • 0
  • 2
  • 3
  • 4
  1. 【一级】下⾯C++代码执行后输出是( )。

image

{{ select(2) }}

  • 54
  • 20
  • 19
  • 18
  1. 【一级】下⾯的程序⽤于判断输入的整数N是否为能被3整除的偶数 ,横线处应填写代码是( )。

image

{{ select(3) }}

  • (N%2)&&(N%3)
  • (N%2==0)&&(N%3)
  • (N%2)&&(N%3==0)
  • (N%20)&&(N%30)
  1. 【二级】下面C++代码的相关说法中,正确的是 ( )。

image

{{ select(4) }}

  • 上述代码执行后其输出相当于求1-10的和(包含10)
  • 上述代码执行后其输出相当于求1-10的和(不包含10)
  • 上述代码执行后其输出相当于求0-10的和(不包含10)
  • 上述代码执行后将输出不确定的值
  1. 【二级】下图的C++程序执行后的输出是(  )。

image

{{ select(5) }}

  • 0010120123
  • 01012012301234
  • 001012012301234
  • 01012012301234012345
  1. 【二级】下面C++代码用于输出N和M之间(可以包括N和M)的孪生素数。孪生素数是指间隔为2的两个数均为素数,如11和13分别是素数,且间隔为2。isPrime(N)用于判断N是否为素数的函数。为完成上述功能,横线处应填上的代码是(  )。

image

{{ select(6) }}

  • M-2
  • M-1
  • M
  • M+1
  1. 【三级】16进制数B2025转换成8进制数是(  )。

    {{ select(7) }}

  • 2620045
  • 2004526
  • 729125
  • 2420045
  1. 【三级】补码1111 1101进行运算1111 1101>>1以后得到的结果是(  )。

    {{ select(8) }}

  • 1111 1100
  • -2
  • 1111 1101
  • 1111 1010
  1. 【三级】下列代码输出的是(  )。

image

{{ select(9) }}

  • 12345
  • 2345@
  • 112345chenadai
  • 12345chenadai
  1. 【三级】下面( )正确定义二维数组。

{{ select(10) }}

  • int a[3][];
  • int a[][];
  • int a[][4]
  • int a[][2] = {{1,2},{1,2},{3,4}};
  1. 【四级】下面的语句中,( )正确定义了一个计算浮点数 xx 的平方(x2=x×xx^2 = x \times x)的函数,并成功调用该函数 (  )。

{{ select(11) }}

  • image
  • image
  • image
  • image
  1. 【四级】给定以下代码

image

执行上述代码后,变量 a 的值为( )。

{{ select(12) }}

  • 5
  • 10
  • 15
  • 20
  1. 【四级】冒泡排序的第一轮操作是从左到右遍历数组,通过两两比较相邻元素,将当前最大的元素移动到末尾。给定数组 arr[]={4, 1, 3, 1, 5, 2} ,执行第一轮冒泡排序后数组 arr 中的内容为( )。

{{ select(13) }}

  • 1, 4, 3, 1, 5, 2
  • 1, 3, 1, 4, 2, 5
  • 1, 4, 3, 1, 2, 5
  • 4, 1, 3, 1, 5, 2
  1. 【四级】下面代码采用递推算法来实现整数 nnn!=n×(n1)××2×1n! = n \times (n-1) \times \cdots \times 2 \times 1)的阶乘,则横线上应填写( )。

image

{{ select(14) }}

  • result *= i;
  • result += i;
  • result += i;
  • result += result;
  1. 【五级】下面关于链表和数组的描述,错误的是( ) 。

{{ select(15) }}

  • 当数据数量不确定时,为了应对各种可能的情况,需要申请一个较大的数组,可能浪费空间;此时用链表比较合适,大小可动态调整。
  • 在链表中访问节点的效率较低,时间复杂度为O(n)。
  • 链表插入和删除元素效率较低,时间复杂度为O(n)。
  • 链表的节点在内存中是分散存储的,通过指针连在一起。
  1. 【五级】两块长方形土地的长宽分别为24和36米,要将它们分成正方形的小块,使得正方形的尺寸尽可能大。小杨采用如下的辗转相除函数 gcd(24, 36) 来求正方形分块的边长,则函数 gcd 调用顺序为( )。

image

{{ select(16) }}

  • gcd(24, 36)、gcd(24, 12)、gcd(12, 0)
  • gcd(24, 36)、gcd(12, 24)、gcd(0, 12)
  • gcd(24, 36)、gcd(24, 12)
  • gcd(24, 36)、gcd(12, 24)
  1. 【五级】下述代码实现素数表的埃拉托色尼(埃氏)筛法,筛选出所有小于等于n的素数。

image

下面说法,正确的是( )。

{{ select(17) }}

  • 代码的时间复杂度是 O(nn)O(n\sqrt{n})
  • 在标记非素数时,代码从 i2i^2 开始,可以减少重复标记。
  • 代码会输出所有小于等于 nn 的奇数。
  • 调用函数 sieve_Eratosthenes(10),函数返回值的数组中包含的元素有:2,3,5,7,92, 3, 5, 7, 9
  1. 【五级】假设有多个孩子,数组 g 保存所有孩子的胃口值。有多块饼干,数组 s 保存所有饼干的尺寸。小杨给孩子们发饼干,每个孩子最多只能给一块饼干。饼干的尺寸大于等于孩子的胃口时,孩子才能得到满足。小杨的目标是尽可能满足越多数量的孩子,因此打算采用贪心算法来找出能满足的孩子的数目,则横线上应填写的代码为( )。

image

{{ select(18) }}

  • result++; index--;
  • result--; index--;
  • result--; index++;
  • result++; index++;
  1. 【五级】根据下述二分查找法,在排好序的数组 1,3,6,9,17,31,39,52,61,79 中查找数值 31 ,循环while (left <= right) 执行的次数为{{ input(19) }}

image

  1. 【五级】当 n = 7 时,下面函数的返回值为{{ input(20) }}

image

  1. 【六级】“阅读以下代码,回答:栈 s 的输出顺序是 5 4 3 2 1 ,队列 q 的输出顺序是{{ input(21) }}(数字前后需要无空格,中间用一个空格隔开)

image

  1. 【六级】假设背包的最大容量 W=8kgW = 8\text{kg},共有 nn 个物品可供选择,4 个物品的重量分别为 weight=[2,3,5,7]weight = [2, 3, 5, 7],对应的价值分别为 value=[30,40,60,80]value = [30, 40, 60, 80],则该 0/10/1 背包问题中,背包的最大价值为 {{ input(22) }}

  2. 【六级】假设字母表 {a,b,c,d,e} 在字符串钟出现的次数分别为 10,15,30,16,29。若使用哈夫曼编码方式对字母进行二进制编码,则字符 abcdef 对应的哈夫曼编码,带权路径长度WPL={{ input(23) }}

  3. 【初赛】以a 为起点,对下边的无向图进行深度优先遍历,则 b,c,d,e 四个点中有可能作为最后一个遍历到的点的个数为{{ input(24) }}

image

  1. 【初赛】下面程序的输出结果是{{ input(25) }}

image

  1. 以下哪些知识点,是你曾经学习过的?(多选)

{{ multiselect(26) }}

  • 字符串
  • 二维数组
  • 自定义函数
  • 结构体
  • 二分算法(分治算法)
  • 贪心算法
  • STL
  • 搜索算法(DFS 或 BFS)
  • DP(动态规划)
  • Dijkstra 求最短路径