gpt4 book ai didi

python - 质数和 - for 循环和大数

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

我正在运行以下代码来计算前 10,000,000 个素数的总和。我怎样才能优化它,使得它不会永远获得结果(素数之和)?

sum=0
num=2
iterator=0

while iterator<10000000:
prime = True

for i in range(2,num):
if (num%i==0):
prime = False

if prime:
sum=sum+num
# print (num, sum, iterator)
iterator=iterator+1
num=num+1

print(sum)

最佳答案

第 10,000,000 个素数大约是 n * ln(n) + n * ln( ln(n) )~188980383 ... 那么您可以使用筛选以找到该值以下的所有素数(丢弃任何额外的...(即,当使用 1000 万时,您将获得大约 50k 个额外的素数,请注意,这对我来说大约需要 8 秒))

另见:Finding first n primes?

另见:Fastest way to list all primes below N

关于python - 质数和 - for 循环和大数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49040843/

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