第42题:分拆素数和
题目描述:
把一个偶数拆成两个不同素数的和,有几种拆法呢? 现在来考虑考虑这个问题,给你一个不超过10000的正的偶数n, 计算将该数拆成两个不同的素数之和的方法数,并输出。 如n=10,可以拆成3+7,只有这一种方法,因此输出1.
示例:
输入:n = 4
输出:0
def is_prime(n):
if n == 2 and n == 3:
return True
for i in range(2,n):
if n % i == 0:
return False
return True
result = 0
for i in range(2,n):
temp = n - i
if is_prime(temp) and is_prime(i) and i < temp: #不同素数
result = result + 1
print(result)