gpt4 book ai didi

python - 欧拉项目,#7 - Python

转载 作者:太空宇宙 更新时间:2023-11-04 09:05:13 24 4
gpt4 key购买 nike

所以我试图找到第 10,001 个素数#。这是我的代码-

counter = 3
primes = [1]

while len(primes) < 10002:
for i in range(2, counter):
if counter % i == 0:
counter += 1
else:
primes.append(counter)
counter += 1

print counter

所以我得到的素数输出是一个数字列表,前几个数字是 1、3、5、7、11...到目前为止,很好...13、17、19、23 , 27...等等,27?所以在那一点上它崩溃并开始返回主要是素数但不是所有素数。这需要永远。

我是编程新手,通过了 CodeAcademy 的 Python 类(class),现在正试图弄清楚如何克服本质上只是语法介绍的内容。我没有数学背景,所以虽然我知道素数是什么,但我知道有更好的方法来解决这个问题。如果有人在类似的船上想“合作”并一起学习 Py2.7,我非常乐意。

最佳答案

我不会为你实现任何东西,因为这就是你做欧拉项目的原因,但我会强烈地向你指出 The Sieve of Eratosthenes 的方向.它将在几秒钟内计算出您的代码将在几小时内执行的操作。

它是这样工作的:(在伪代码中)

for known_prime in a huge list of numbers:
k=2
while known_prime*k < the biggest number:
known_prime*k is not prime
k += 1

一旦你完成了列表的 sqrt,你就找到了列表中的每个素数。

关于python - 欧拉项目,#7 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21321779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com