一道简单的python编程题?

哥德巴赫猜想问题。每个大于2的偶数均可表示为两个素数之和。
先编写函数IsPrime(v),判断一个整数v(v≥2)是否为素数,是则返回逻辑值True,否则返回逻辑值False。
然后编写程序,让用户输入一个正偶数为参数,输出两个素数,并且这两个素数之和等于原来的正偶数。如果存在多组符合条件的素数,则全部输出。如果输入不是大于2的偶数,则输出“输入数据出错!”。
只有一组输入,输入及输出格式见样例输入及输出。
样例输入及输出1:
输入一个正偶数:8
8=3+5
<程序结束>
样例输入及输出2:
输入一个正偶数:9
输入数据出错!
<程序结束>
样例输入及输出3:
输入一个正偶数:20
20=3+17
20=7+13
<程序结束>

按照题目要求编写的哥德巴赫猜想的Python程序如下

def IsPrime(v):

 if v>=2:

  for i in range(2,v//2+1):

   if v%i==0:

    return False

  else:

   return True

 else:

  return False

n=int(input("输入一个正偶数:"))

if n>2 and n%2==0:

 for i in range(1,n//2+1):

  if IsPrime(i)==True and IsPrime(n-i)==True:

   print("%d=%d+%d" %(n,i,n-i))

else:

 print("输入数据出错!")

源代码(注意源代码的缩进)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-06-29
所以你的问题是什么?
相似回答