gpt4 book ai didi

python - 除 Sieve 之外的快速素数生成器

转载 作者:行者123 更新时间:2023-11-30 22:43:51 26 4
gpt4 key购买 nike

我最近编写了这段代码,但想知道是否有更快的方法来查找素数(不是筛子;我仍在尝试实现)。有什么建议吗?我正在使用 Python,而且对它还很陌生。

def isPrime(input):
current = 0
while current < repetitions:
current = current + 2
if int(input) % current == 0:
if not current == input:
return "Not prime."
else:
return "Prime"
else:
print current

return "Prime"

i = 1
primes = []
while len(primes) < 10001:
repetitions = int(i)-1
val = isPrime(i)
if val == "Prime":
primes.append(i)
i = i + 2
print primes[10000]

最佳答案

这是一个检测 x 是否为素数的函数

def is_prime(x):
if x == 1 or x==0:
return False
elif x == 2:
return True
if x%2 == 0:
return False
for i in range(3, int((x**0.5)+1), 2):
if x%i == 0:
return False
return True

以及另一个打印素数的实现

def prime_range(n):
print(2)
for x in range(3, n, 2):
for i in range(3, int((x**0.5)+1), 2):
if x%i == 0:
break
else:
print(x)

希望对你有帮助!

关于python - 除 Sieve 之外的快速素数生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41655403/

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