我写了这个函数来检查一个数字是否是素数。它本身似乎可以正常工作,但是当我在另一个函数中使用它时,它似乎不起作用。
这是我的 IsPrime 函数:
def is_prime(n):
boolean = False
if n == 2 or n == 3:
return True
for x in range(3, int(n**0.5)+1, 2):
if n % x == 0:
return False
return True
下面的函数计算 2000000 以下的所有素数之和:
def problem10(prime, result):
if prime > 2000000:
return
if is_prime(prime):
print 'prime is ', prime
result = result + prime
problem10(prime + 1, result)
return result
我不明白我哪里出错了。
评论将不胜感激。