#G5205. [GESP202409 五级] 客观题

    ID: 199 Type: Objective Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>GESP Python编程能力等级认证

[GESP202409 五级] 客观题

单选题

  1. 在升序数组 nums 中寻找目标值 target,下列程序可以填入的是( )

{{ select(1) }}

  • mid = (right + left) // 2 + left
  • mid = (right - left) // 2 + left
  • mid = (right - left) // 2 - right
  • mid = (right + left) // 2 - left

  1. 500个病毒样本中,已知有一个是病毒检测呈阳性,用试纸测试阳性病毒以后,试纸在3天以后会变色。用试纸测试时间不计,三天以后要出结果,请问最少用多少个试纸能够找出哪一个病毒样本有毒( )

    {{ select(2) }}

  • 499
  • 250
  • 9
  • 125

  1. 一名收银员,给顾客找零,找零的目标是给出确定金额的同时,使用尽可能少的硬币。有不同额的硬币:1分,5分,10分,25分。如果需要给顾客准确的零钱77分,同时使用最少的硬币下列程序中横线应该填写( )。

{{ select(3) }}

  • amount -= coin
  • amount <= coin
  • amount >= coin
  • amount += coin

  1. 下列程序是素数筛的程序,横线处应该填上( )。

{{ select(4) }}

  • for j in range(i, n+1, i):
  • for j in range(i*i, 1, n):
  • for j in range(i*i, n+1, i):
  • for j in range(i, n, i):

  1. 下面程序是埃氏筛的一个实现,横线处应该填写( )。

{{ select(5) }}

  • for i in range(i*i,n+1,i):
  • for j in range(i*i,n,j):
  • for j in range(i*i,n+1,i):
  • for j in range(j*j,n+1,i):

  1. 下列程序中,使用了二分查找算法,横线处应该填写的是()。

{{ select(6) }}

  • mid = (low - high) // 2
  • mid = (low + high) // 2
  • mid = (low + high) // 2
  • mid = (low - high) // 2

  1. 正整数1024的所有约数的和为多少( )。

    {{ select(7) }}

  • 2058
  • 2059
  • 2047
  • 2044

  1. 下面程序是对n!进行唯一分解,横线处应该填入的是()。

{{ select(8) }}

  • while n % i != 0 and i != n:
  • while n % i == 0 and i == n:
  • while n % i == 0 and i != n:
  • while n % i != 0 and i == n:

  1. 假设有一些物品,每个物品都有自己的重量,我们需要将这些物品装入箱子中,每个箱子也有自己的重量限制。贪心算法每次都选择重量最轻的物品放入当前最轻的箱子中,如果箱子可以装下,就放入;如果箱子不能装下,就会试下一个箱子,直到找到可以放入的箱子。下列贪心算法程序中,横线处应该填入的是( )。

{{ select(9) }}

  • if not taken[i] and box[0] >= items[i]:
  • if not taken[0] and box[0] >= items[i]:
  • if not taken[i] and box[i] >= items[0]:
  • if not taken[0] and box[0] >= items[i]:

10.下列归并算法程序中,横线处应该填入的是( )。

{{ select(10) }}

  • while i > len(left) and j < len(right):
  • while i < len(left) and j > len(right):
  • while i > len(left) and j > len(right):
  • while i < len(left) and j < len(right):

11.下列快速排序算法中,横线处应该填入的是( )。

{{ select(11) }}

  • p = arr[len() // 2]
  • p = arr[len(arr)+1 // 2]
  • p = arr[len(arr)-1 // 2]
  • p = arr[len(arr) // 2]

12.下列二分枚举算法中,( )处应该填入的程序是( 不算做程序的一部分)( )。

{{ select(12) }}

  • `Python mid = (low + high) // 2 if arr[mid] == x: return mid elif arr[mid+1] > x: high = mid - 1 else: low = mid + 1

  • `Python mid = (low + high) // 2 if arr[mid] != x: return mid elif arr[mid+1] > x: high = mid - 1 else: low = mid + 1

  • `Python mid = (low + high) // 2 if arr[mid] == x: return mid elif arr[mid] > x: high = mid - 1 else: low = mid + 1

  • `python mid = (low + high) // 2 if arr[mid] != x: return mid elif arr[mid] > x: high = mid - 1 else: low = mid + 1


13.下面代码是寻找水仙花数的程序,横线处应该填写的代码是()。【是指一个n位数(n≥3),其每位数字的n次幂之和等于它本身】

{{ select(13) }}

  • `Python sum_of_powers = sum(int(digit) ** num_digits for digit in num)

  • `python sum_of_powers = sum(int(digit) ** num for digit in str_num)

  • `Python sum_of_powers = sum(int(num) ** num_digits for digit in str_num)

  • `python sum_of_powers = sum(int(digit) ** num_digits for digit in str_num)


  1. 对于正整数n,欧拉函数f(n),表示小于或等于n的正整数中与n互质的数的数目,例如f(8)=4。f(100)=()。

    {{ select(14) }}

  • 50
  • 55
  • 45
  • 40

  1. 下列程序输出的是()。

{{ select(15) }}

  • chen a dai
  • dai a chen
  • iad a nehc
  • chenadai

判断题

  1. (-1) mod 127和126 mod 127 的结果是一样的

    {{ select(16) }}


  1. 一个数的反码,实际上是这个数对于一个模的同余数

    {{ select(17) }}


  1. 1997和615用欧几里得算法计算最大公约数的过程如下:

{{ select(18) }}


  1. 欧几里得算法适用于实数

    {{ select(19) }}


  1. 每个大于1的整数可以唯一地写成质数的乘积的形式

    {{ select(20) }}


  1. 贪婪算法的复杂度通常是线性的,即(O(n)),其中n是输入的大小

    {{ select(21) }}


  1. 归并排序的时间复杂度为(O(n \log n))

    {{ select(22) }}


  1. 根据同余计算,可以推导出(ab)、(x^m=ax^m+b*x^m)

    {{ select(23) }}


  1. 二分查找算法的复杂度通常表示为(O(\log n)),其中n是数组的长度

    {{ select(24) }}


  1. def(十六进制) = 103231(五进制)

    {{ select(25) }}