假设函数is_prime
的可用性。假设变量n已与正整数相关联。写下计算前n个素数之和所需的语句。总和应该与变量total相关联。
注意:is_prime
采用整数作为参数,当且仅当该整数为素数时返回True。
到目前为止,我有:
i=2
count=0
total=0
while (count<n):
if(is_prime(i)):
total+=1
count+=1
i+=1
我在哪里错过了这个问题。
答案 0 :(得分:1)
修复现有内容...只需将i
添加到total
i=2
count=0
total=0
while (count<n):
if(is_prime(i)):
total+=i
count+=1
i+=1
print total
通过让发电机永远产生质数,你可以做得更好
def primes():
for i in itertools.count(1):
if is_prime(i):
yield i
然后你可以让n_primes
产生第一个n
素数
def n_primes(n):
return [prime for prime,_ in zip(primes(),range(n))]
然后最后你只是总结它
print sum(n_primes(N))