验证哥德巴赫猜想
2000 以内的不小于 4 的正偶数都能够分解为两个素数之和, 验证哥德巴赫猜想对 2000 以内的
数分解为两部分, 然后判断分解出的两个正整数是否均为素数。 若是, 则满足题意, 否则应重
输入: 每次输入一个 2000 以内的不小于 4 的正偶数 n。
输出: 输出 n 能被分解成的素数 a 和 b, 如果不止一组解, 则输出其中 a 最小的那组解即可。
请你补全代码。
import math
# 判断是否为素数
def fun(n):
if n == 2:
return 1
if n % 2 == 0:
return 0
i = 3
while i <= math.sqrt(n):
if ___①___ :
return 0
i += 2
return 1 # n 是除 2 以外的素数返回 1
# 验证哥德巴赫猜想
def guess(n):
k = 0
i = 2
while i <= (n // 2):
if fun(i):
if fun(n - i):
print("%d %d\n" % ( ___②___ ))
___③___
if i != 2:
i += 1
if k == 1:
___④___ #结果得到验证, 跳出循环
i += 1
while True:
n = input("请输入 2000 以内>=4 的正偶数: (输入'stop'结束运行)")
if n=="stop":
break
else:
___⑤___ # 调用方法验证哥德巴赫猜想