分析:题目意思是:1000以内的除了2以外的所有偶数,都可以用两个素数和表示,切不只有一种表示,例如14=3+11=7+7,而我们需要寻找的的是该数的所有搭配中含有较小的素数为最小,将每一个偶数的最小素数搭配再作比较,选出最小素数中最大的素数。(晕死......)
def f(n):
def isprime(m): #判断素数
if m < 2:
return False
if m == 2:
return True
for w in range(2, m):
if m % w == 0:
return False
return True
for i in range(2, n // 2 + 1):
if isprime(i) and isprime(n - i):
return [i]
lt = []
for i in range(4, 10001, 2): #1000内偶数,需要将3排除在外,因为3=1+2,1既不是素数也不是和数
lt.append(min(f(i)))
print(max(lt))
答案:173