gpt4 book ai didi

python - python中的素数测试

转载 作者:太空狗 更新时间:2023-10-29 21:15:11 27 4
gpt4 key购买 nike

<分区>

我正在尝试用 Python 做一个简单的素数测试。

根据维基百科,一个 primality test是以下内容:

Given an input number n, check whether any integer m from 2 to n − 1 divides n. If n is divisible by any m then n is composite, otherwise it is prime.

我从排除偶数(2 除外)作为质数候选开始

def prime_candidates(x):
odd = range(1, x, 2)
odd.insert(0, 2)
odd.remove(1)
return odd

然后根据上述规则编写一个函数来检查素数。

def isprime(x):
for i in range(2, x-1):
if x % i == 0:
return False
else:
return True

这是 main 函数,它遍历 8000 个候选素数并测试它们的素数

def main():
end = 8000
candidates = prime_candidates(end)
for i in candidates:
if isprime(i) and i < end:
print 'prime found ' + str(i)

问题在于 isprime 函数对于非素数的数字返回 True。

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