题目描述:
把一个偶数拆成两个不同素数的和,有几种拆法呢? 现在来考虑考虑这个问题,给你一个不超过10000的正的偶数n, 计算将该数拆成两个不同的素数之和的方法数,并输出。 如n=10,可以拆成3+7,只有这一种方法,因此输出1
示例:
输入:n = 4
输出:0
思路:素数包括2,3,5,7,还有不能被2,3,5,7整除的数
n =10
List2=[]
numbers =0
#找到所有的素数
def primelist(n):
List1 = []
for i in range(2,n): #素数不可以等于1
if ((i%2!=0)&(i%3!=0)&(i%5!=0)&(i%7!=0)) or i==2 or i==3 or i==5 or i==7:
List1.append(i)
return(List1)
List2 = primelist(n)
#print(List2)
#循环素数列表
for m in range(len(List2)):
for j in range(m+1,len(List2)):
#print(List2[m])
#print(List2[j])
if List2[m] + List2[j] == n:
numbers += 1
print(numbers)