我需要解决一个简单的问题,但我想不出来。这是他现在写的:
def IsPrime(n):
if n % 2 == 0:
return n == 2
d = 3
while d * d <= n and n % d != 0:
d += 2
return d * d > n
def pi(x):
sum = 0
if x > 1:
if IsPrime(x - 1):
sum += pi(x-1)
print (x)
return x
else:
pi(x-1)
return 0
else:
return sum
print(pi(10))
任务是显示所有小于 10 的素数之和,为此我做了一个检查函数和一个递归 pi。在里面我用参数 1 less 调用,但我不明白如何计算数量本身。
为什么这么难:)
基本原则:
x等于 2,则打印 2,好吧,您可以中断递归,然后再中断 - 例如,如果x等于 0,则打印 0x否则为 0(即,我们不考虑合数)附言
您可以稍微简化一下功能:
聚苯乙烯
并考虑到所有整数,你可以这样做:
为什么需要递归?