验证哥德巴赫猜想:任意一个大于2的偶数可以表示成2个素数之和。编写一个函数isGBH(n)将传入的6-100之间的偶数表示为2个素数之和,结果保存在列表中返回。
问题描述:
验证哥德巴赫猜想:任意一个大于2的偶数可以表示成2个素数之和。编写一个函数isGBH(n)将传入的6-100之间的偶数表示为2个素数之和,结果保存在列表中返回。例如传入参数10,则返回["10=3+7","10=5+5"]。
答
你题目的解答代码如下:
def isprime(n):
if n<=1:
return False
for i in range(2,n):
if n%i==0:
return False
return True
def isGBH(n):
if n<=2 or n%2!=0:
return "n不是大于2的偶数"
li = []
for i in range(2,n//2+1):
if isprime(i) and isprime(n-i):
li.append(f"{n}={i}+{n-i}")
return li
n = int(input("请输入一个整数n:"))
print(isGBH(n))
如有帮助,望采纳!谢谢!