#1666. 数论与位运算·单选训练1

数论与位运算·单选训练1

数论与位运算·单选训练1

第 1 题(单选)

若需要计算 a*b%mod 且 a,b 可接近 1e18,最稳妥的常见方法是()。

{{ select(1) }}

  • 使用 __int128 或快速乘
  • 转成 int
  • 先除以 mod
  • 直接 long long 相乘

第 2 题(单选)

模质数 p 下直接用 fac[n] 与 invfac[n] 预处理组合数 C(n,k),且要求 fac[n] 可逆,通常需要()。

{{ select(2) }}

  • n 为质数
  • k=0
  • n<p
  • p<n

第 3 题(单选)

埃氏筛中,当 i 已知为质数时,从 i*i 开始标记其倍数的主要原因是()。

{{ select(3) }}

  • i*i 以前的倍数一定也是质数
  • 更小的合数倍数已被更小质因子标记
  • 只有平方数才是合数
  • 可以把空间复杂度降为 O(1)

第 4 题(单选)

用 2×2 矩阵快速幂计算第 n 项斐波那契数,乘法视为 O(1) 时,时间复杂度为()。

{{ select(4) }}

  • O(log n)
  • O(n)
  • O(n log n)
  • O(2^n)

第 5 题(单选)

表达式 1LL << 40 的类型和意图通常是()。

{{ select(5) }}

  • long long,表示 2^40
  • bool,表示 true
  • int,可能溢出
  • double,表示 40