2019-06-13:给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。 输入值小于1000。 如,输入为10, 程序应该输出结果为2。

#encoding=utf-8
"""
给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。
输入值小于1000。
如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))
"""
def getPrimeNum(num):
    primes=[]
    for i in range(1,num+1):
        if i%2!=0:
            primes.append(i)
    return primes

num=int(input("请输入一个正整数:"))
primesList=getPrimeNum(num)
resultSum=[]
numCom=[]
for i in range(len(primesList)):
    for j in range(i,len(primesList)):#避免加重,比如primesList[i]=1,primesList[j]=9 计算了一次;避免primesList[j]=9,primesList[i]=1再加一次
        letterSum=primesList[i]+primesList[j]
        if num==letterSum:
            numCom.append((primesList[i],primesList[j]))
print(numCom)

 

你可能感兴趣的:(Python)