Python is_prime

时间:2016-04-09 17:34:04

标签: python primes

假设函数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

我在哪里错过了这个问题。

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))