python找质数对
编写python脚本,输入一个正整数,输出有几对质数的和等于这个正整数。
例如输入一个正整数10,可以找出有“3+7=10”、“5+5=10”两个质数对的和为10。
要实现这个功能的python脚本如下所示:
def isprime(num):
for i in range(2, num):
if num % i == 0:
return False
return True
Number = input("Please input a number : ")
Prime = [i for i in range(1, Number) if isprime(i)]
List = [(i, Number - i) for i in Prime if isprime(Number - i) and i <= Number-i]
print List
print len(List)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
该脚本运行后的效果图如下图所示:
由效果图可以看出,输入10后,输出质数对(3,7)和(5,5),并输出有两个质数对。输入7和12后均有相应的效果。