gpt4 book ai didi

python - 素数算法在某个点后停止工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:20:07 25 4
gpt4 key购买 nike

这是我的素数查找算法——它工作得很好(而且非常快)直到限制设置在 173 以上,然后它开始抛出

ValueError: list.remove(x): x not in list

我不明白为什么在限制为 174 或更高之前它绝对可以正常工作——这是我的代码。

def primefinder(limit):
primes = [2, 3]
for i in range(1, (limit / 6 + 1)):
primes.append(6 * i - 1)
primes.append(6 * i + 1)

for i in primes[:]:
if i > 24:
for x in primes:
if x <= i ** 0.5:
if i % x == 0:
primes.remove(i)
continue
else:
break

if limit % 6 == 0:
primes.remove(primes[-1])
return primes

最佳答案

给你 - 你不想在那里打印,那只是为了显示正在发生的事情。

def primefinder(limit):
primes = [2, 3]
for i in range(4, limit):
if (prime(i)):
primes.append(i)
print (i)

return primes

def prime(number):
oldnum = number
factor = 1
while number > 1:
factor += 1
if number % factor == 0:
if 1 < factor < oldnum:
return False
number //= factor
return True

primefinder(200000)

关于python - 素数算法在某个点后停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35115713/

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