牛客网 素数对
题目描述
给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。
如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))
输入描述:
输入包括一个整数n,(3 ≤ n < 1000)
输出描述:
输出对数
分析:水题,考察素数。记住素数从2开始即可
import math
cnt = 0
def isPrime(num):
if(num == 2 or num == 3): return 1
if(num == 0 or num == 1): return 0
for i in range(2, int((math.sqrt(num)))+1):
if(num % i == 0):
return 0
return 1
n = int(raw_input())
for i in range(n / 2 + 1):
if(isPrime(i) and isPrime(n - i)):
cnt += 1
print cnt