1到10001之间最大的质数是多少

what is the highest prime number between 1 and 10001

所以我正在尝试找到 10,001 质数。是的,它是 euler #7 问题。我写的代码似乎给了我从 3 到 10,001 的所有质数,但我的答案仍然不正确。我知道还有其他关于此的问题已得到解答,但窃取别人的代码并不能帮助我学习。所以我正在寻找我在这方面出了问题的见解。首先,我将所有奇数分开并添加到列表中。我注意到列表中有一些素数的平方,所以我对照 2 到 10,0001 之间每个数字的平方检查列表。那应该让我只剩下素数,但我仍然得到错误的答案。任何想法都会很棒谢谢

prime = [i for i in range(2, 10002) if i % 2 != 0]

for i in range(2, 10002):
    if i * i in prime:
        prime.remove(i * i)

print(prime[-1])

你试过7*11=77的情况吗?当您应该搜索所有已知素数的倍数时,您只是在寻找完美的正方形。为了与欧拉计划的主题保持一致,我不会给你答案,但我_可以_将你指向 Sieve of Eratosthenes.

实际上...因为这是一个早期问题,所以我会剧透一下。

制作素数列表,将其初始化为[2,3,5]。从 n=8 开始,每次增加 6,通过测试从 2 到数字的平方根的每个已知素数的模来检查 n-1 和 n+1 的素数。