for i in range(2,n): for j in range(2,i): if i%j==0 : break else: q.append(i)
print(i)
-------------下面附质素相加等于自然数,且相减最小-----------
方法一:
a = int(input())
b = []
for i in range(2, a ):
for j in range(2, i):
if i % j == 0:
break
else:
b.append(i) #先求出所有的质数列表
su=1000 #此值要大于输入的值a
for y in b: #去所有质数进行依次匹配
if (a-y) in b: #判断减法后的值也在列表里及也是质数
k=a-2*y
if k>=0 and su>k: #求相互减去后值最小,这里也可以取相加最大,根据要求自行改变
su=k
print((a-su)//2)
print((a-((a-su)//2)))
方法二(取巧):
n = int(input())
prime = []
for i in range(int(n/2), 1,-1): #取值一半,然后从大到小进行判断,生成的列表 默认按从到到小进行排序