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)
该脚本运行后的效果图如下图所示:
由效果图可以看出,输入10后,输出质数对(3,7)和(5,5),并输出有两个质数对。输入7和12后均有相应的效果。