【发布时间】:2016-07-08 09:25:37
【问题描述】:
我写了这个简单的python函数来计算:
def isPrime(number):
if number == 2:
return True
elif number > 1 and number % 2 != 0:
for current in range(3, number):
if number % current == 0:
return False
return True
我调用它来打印从 1 到 200 万的所有素数的总和,如项目 euler #10
但是它非常慢,我想知道是否可以使用生成器解决同样的问题?但是我并不完全了解python中的生成器..
任何有关如何更有效地解决此问题的帮助将不胜感激!谢谢:)
【问题讨论】:
-
为什么要检查每个数字?
-
希望改进的完整且功能正常的代码块可以指向Code Review Stack Exchange。请务必在发布之前查看该网站的帮助中心
标签: python