我正在编写素数的程序,表示为其他连续素数的总和,并且应始终以数字2开头。
5=2+3
17=2+3+5+7
41 =2+3+5+7+11+13
我找到素数的代码:
def prime():
num=int(input("enter the number"))
counter=0
for num in range(2,num+1):
if(num%2+num%3)!=0:
counter+1
else:
print(prime())
print(counter)
print(prime())
但是在运行上面的示例时我得到以下输出:
enter the number5
0
0
0
0
None
每当它遍历循环时,它只打印0
。
答案 0 :(得分:1)
我认为你的问题很可能是基于
这可以通过使用存储列表来实现
import numpy as np
num = int(input("Enter a number: "))
primes = []
for a in range(2,num):
maxInt= int(np.sqrt(a)) + 1
for i in range(2,maxInt):
if (a%i==0):
break
else:
primes.append(a)
if sum(primes) >= num:
break
print(sum(primes))
print(primes)
Enter a number: 41
41
[2, 3, 5, 7, 11, 13]