1 条题解

  • 0
    @ 2026-1-3 20:28:01

    参考答案及解析

    题目1:基础质数判断

    1. A. 从10次增加到100次
    2. C. 处理n=2的情况(n=2是质数)
    3. B. 快速排除所有偶数(除了2)
    4. B. 所有数都被判断为质数(因为没有找到能整除的因子)
    5. D. 以上都是

    题目2:质因数分解

    1. A. 0次(13是质数,√13≈3.6,i=2,3循环两次,但13%2!=0, 13%3!=0)
    2. B. 8 = 2 × 4(只能分解出一个2,剩下4)
    3. C. 都是
    4. A. 循环次数从10次增加到100次
    5. A. 能,如果n是4的倍数(但4不是质数,所以分解结果不标准)

    题目3:埃拉托斯特尼筛法

    1. C. 两者都是
    2. A. 5(√30≈5.48)
    3. A. 结果正确但效率降低
    4. A. 输出所有数字
    5. B. O(n)

    题目4:线性筛法

    1. D. 以上都是
    2. A. 4×2=8(标记8,然后4%2==0,break)
    3. A. 某些合数被多次标记
    4. A. 访问primes[0]导致段错误
    5. A. 每个合数只标记一次

    题目5:质因数分解优化

    1. B. 1(if只会执行一次)
    2. C. 都可以
    3. A. 质数
    4. C. 都可以
    5. A. 循环次数从1000次增加到1000000次

    题目6:米勒-拉宾素性测试

    1. D. 以上都是
    2. C. 都可以(位运算更快)
    3. A. 1(n=5时,n-4=1)
    4. D. 以上都是
    5. C. 4在后续测试中可能被误判

    题目7:区间质数统计

    1. A. 大于等于a的最小p的倍数
    2. D. 以上都是
    3. C. 没有区别
    4. A. 可以忽略
    5. A. 不会执行(循环条件不满足)

    题目8:质数间距问题

    1. B. 添加判断if (i <= n / i) for (int j = i * i; j <= n; j += i)
    2. A. {-1, -1}
    3. A. <climits>
    4. A. 返回最后一对最小间距的质数
    5. C. 都可以

    题目9:哥德巴赫猜想验证

    1. C. 都是
    2. C. 两者都是
    3. C. n/2到n之间(因为i≤n/2,n-i≥n/2)
    4. A. 第一个找到的解
    5. D. 以上都可以

    题目10:回文质数

    1. A. 321
    2. A. 提高效率,因为质数判断更耗时,先判断回文可以排除更多数
    3. D. 使用质数表(对于单个数的质数判断,用质数表不划算)
    4. B. 进入无限循环(n>0永远不成立)
    5. D. 以上都可以
    • 1

    信息

    ID
    9969
    时间
    1000ms
    内存
    256MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者