本文主要是介绍Python验证哥德巴赫猜想,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1 问题
哥德巴赫猜想是说,任何一个超过2的偶数都可以写成两个素数之和,例如,4=2+2,8=5+3等,那么怎么用Python来验证呢?
2 方法
对于输入的偶数N,找出其所有分解,逐一验证每一个满足N=k1+k2的分解中k1和k2是否都是素数。首先建立一个素数表,该素数表要足够长,可以覆盖偶数N所有分解中可能遇到的素数。而后考察N的每个分解,看看分解出来的两个数是否都包含在素数表中,若是,则找到一种素数分解。
代码清单 1
def main(): N=int(input("请输入待验证的偶数:")) while N<3 or N%2 == 1: print("输入的数不符合要求") N=int(input("请输入待验证的偶数n(n>2):")) #生成素数表 Prime=set() for i in range(2,N+1): Prime.add(i) for i in range(2,N+1): if i in Prime: for k in range(2*i,N+1,i): if k in Prime: Prime.remove(k) #验证该偶数能否分解为两个素数之和 for e in Prime: f=N-e if f>=e and f in Prime: print(N,'=',e,'+',f) print(main()) |
3 结语
针对如何利用python验证哥德巴赫猜想的问题,运用了自定义函数,for循环以及if判断语句等,通过实验,证明该方法是有效的,本文方法并不是唯一方法,未来可以尝试用其他的方法验证哥德巴赫猜想。
这篇关于Python验证哥德巴赫猜想的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!