代码链接

代码第16行第2层循环里int j=i*i确定没问题吗,是否应当改为int j=i*2?

还是我记错了

抑或是都可以?


好吧后来我发现这是可以的,请先想一想是为什么,然后看nPr在下面的评论吧=)

肯定不是我懒得写了,还有不要@C25fengwentao

1 comments

  • @ 2025-8-5 16:02:36

    没有问题的。

    因为 i * 2ii22 的时候就被筛掉了。

    小于 ii 的所有质数都已经筛过了。

    所以如果 ii 是质数,从 i * i 开始就行了。

    =)

    👍 3
    ❤️ 3
    😄 3
    👀 2
    • @ 2025-8-8 20:24:44

      i*2i*(i-1)的数一定有一个小于i的因数, 肯定在之前的循环里被筛掉了

  • 1