【发布时间】:2020-11-27 14:45:23
【问题描述】:
我是 python 的初学者,我的代码花了很多时间才找到低于 200 万的素数,他可以很好地处理像数千这样的数字,但一百万是一个很大的数字,任何人都知道我能做什么谢谢提前:
arr = list()
for i in range(2, 200000):
for j in range(2, i + 1):
if i % j == 0 and i == j:
arr.append(i)
elif i % j == 0 and i != j:
break
else:
continue
print(arr)
【问题讨论】:
-
此类题属于codereview
-
你不知道如何有效地找到素数吗?
-
你确定这个吗?
if i % j == 0 and i == j: -
问题是您正在使用最慢的技术之一来查找低于 2M 的素数。查看:Fastest way to list all primes below N 以获得更快的选择。
标签: python python-3.x