首页资讯科技 哥德巴赫猜想的Python验证

哥德巴赫猜想的Python验证

王德贵 丁大为哥德巴赫猜想,是世界近代三大数学难题之一。华罗庚是中国最早从事哥德巴赫猜想的数学家。1936—1938年,他赴英留学,师从哈代研究数论,并开始研究哥德巴赫猜想,验证了几乎所有的偶数猜想。1966年,华罗庚的学生陈景润在对筛法做…

汪德贵丁大卫

巴赫猜想是现代世界三大数学难题之一。华庚是中国最早从事哥德巴赫猜想的数学家。1936-1938年,他留学英国,师从哈代学习数论,开始研究哥德巴赫猜想,验证了几乎所有的偶猜想。1966年,华的学生陈景润在对筛选方法作出新的重要改进后证明了1+2。他证明了任何一个足够大的偶数都可以表示为两个数之和,其中一个是素数,另一个是素数或者两个素数的乘积,这就是所谓的“陈定理”。这在当时影响很大,但此后再无研究进展。一、哥德巴赫猜想的内容

哥德巴赫猜想,数学史上与素数有关的数学猜想,影响了一代又一代数学家。

1742年6月7日,德国数学家哥德巴赫在给著名数学家欧拉的一封信中提出了一个大胆的猜想:任何不小于3的奇数都可以是三个素数之和(如:7=2+2+3。1在当时还是一个质数)。

同年6月30日,欧拉在回信中提出了哥德巴赫猜想的另一个版本:任何偶数都可以是两个素数之和(如:4=2+2)。1在当时还是一个质数)。

这就是数学史上著名的哥德巴赫猜想。由于1不再被归类为质数,这两个猜想就变成了:

任何不小于7的奇数都可以写成三个素数之和;

任何不小于4的偶数都可以写成两个素数之和。

20世纪,随着计算机技术的发展,数学家发现哥德巴赫猜想对更大的数仍然成立。而自然数是无穷的,无法判断是否存在足够大的偶数,这就成了哥德巴赫猜想的反例。然而,数学家们仍在不断探索,寻求各种解决方案。

如果想进一步了解,可以参考相关资料。今天,我们只使用Python进行基本验证。第二,创造力的源泉

在Python学习过程中,尝试解决一些问题,尤其是世界数学问题,不仅是一种乐趣,还可以学习数学知识和一些数学发展史,还可以提高学生的学习兴趣和积极性,加深对程序优化和调试的理解。三、设计思路

《论偶数的哥德巴赫猜想》我们可以从任意一个要分析的正整数中减去一个素数,然后看结果是否也是一个素数。这是一种方法;另一种方法是遍历素数,看是否有两个满足条件的素数。

《论奇数的哥德巴赫猜想》我们可以从任意一个要分析的正整数中减去一个素数,然后看结果是否也是一个素数。这是一种方法;另一种方法是遍历素数,看是否有三个素数满足条件。

这些方法的基础都需要先找出正整数范围内的素数。列表的形式便于我们存储、计算和访问素数。四。Python验证

1.偶数上的哥德巴赫猜想

任何不小于4的偶数都可以写成两个素数之和。

对这个猜想的理解是,4=2+2,6=3+3,8=3+5,10=3+

7, 12 = 5+7 ...数不胜数,我们无法一一列举,只能通过编程验证有限的范围,否则运行时间会无限延长。

(1)方法一:遍历素数列表,取出两个素数进行验证。

程序有两部分,一是建立质数列表,二是在列表中确定有没有满足条件的质数。有一组则程序结束,并显示出来(图1)。

该程序有两部分,一是建立素数列表,二是判断列表中是否有满足条件的素数。如果有一组,程序结束并显示出来(图1)。

也可以利用自定义函数,程序如图2。

您也可以使用自定义函数。程序如图2所示。

需要这个偶数范围内的素数,所以把素数采集做成自定义函数,把素数列表,方便下一步的计算和验证。

输入一个不小于4的偶数后,调用自定义函数,将这个范围内的素数放入列表中,然后用枚举算法从列表中取两个数,验证是否等于输入的偶数。如果是,就输出。

这两个程序的运行结果是完全一样的。两人都在素数列表中随机选取两个数,验证其和是否等于输入的偶数。

(2)方法二:判断偶数与质数之差是否为质数。

这种方法减小了时间复杂度,运行速度更快,程序如图3。

该方法降低了时间复杂度,运行速度更快。程序如图3所示。

測试结果如图4。

测试结果如图4所示。

2.奇数的哥德巴赫猜想

任何不小于7的奇数都可以写成三个素数之和。

根据前面的验证,修改程序,便可以验证“关于奇数数的哥德巴赫猜想”。即多加一重for循环,同时判断输入数与两个质数之差是否也为质数,如果是,则输出算式,程序结束(图5)。

根据前面的验证,通过修改程序,可以验证关于奇数的哥德巴赫猜想。即多加一个for循环,同时判断输入数与两个素数之差是否也是素数。如果是,则输出公式,程序结束(图5)。

验证结果如图6所示。

动词 (verb的缩写)测试和改进

1.测试溶液的数量

我们之前的程序只显示了一组解决方案。实际上,任何不小于4的偶数都可以表示为一对素数之和,任何不小于7的奇数都可以表示为三个素数之和。如果想要显示所有的公式,只需删除程序中与“break”相关的语句即可。

比如,“关于偶数的哥德巴赫猜想”,修改程序如图7。

比如“关于偶数的哥德巴赫猜想”,修改程序如图7所示。

运行结果如下,这里进行了去重(图8)。

操作结果如下,这里执行重复数据删除(图8)。

“关于奇数的哥德巴赫猜想”,修改程序如下,运行后发现满足条件的解很多,但却是有重复的(图9)。

《论奇数的哥德巴赫猜想》,修改方案如下。运行后发现,满足条件的解有很多,但都是重复的(图9)。

输入23,得到21组解,那如何去重呢?大家利用列表或集合都可以实现,这里不再赘述(圖10)。

输入23,得到21组解。你是如何减肥的?可以用列表或者集合来实现,这里就不描述了(图10)。

2.验证是否包含所有整数。

我们无法一一验证所有的偶数和奇数,那么我们是否包含了一定范围内的所有值呢?我们来验证一下。

(1)验证一定范围内的所有偶数

在列表中存储一定范围的素数,然后遍历列表求和。如果sum的所有值都包含所有偶数,那么任何偶数都可以表示为两个素数的和。

程序中,运用集合去重和做差,检验是否包含所有偶数。

在程序中,集合用于删除重复项和产生差异,并检查是否包含所有偶数。

50,也只显示了一组解决方案(图11)。

(2)验证一定范围内的所有奇数

在列表中存储一定范围的素数,然后遍历列表求和。如果sum的所有值都包含奇数,那么任何奇数都可以表示为三个素数的和。

程序中,同样运用集合去重和做差,检验是否包含所有奇数。

在程序中,我们还使用集合来删除重复项,并进行差分来检查是否包含所有奇数。

50,也只显示了一组解决方案(图12)。

通过测试,在一定范围内,都得到了验证,但是当数值过大时,就需要很长的时间。当然,我们要证明一个定理。不可能验证所有的值,我们需要理论证明。

这里我们只是做一个简单的基础验证,也是小范围的验证。真正的猜想还没有被完全证明。也希望你能发挥自己的智慧和力量,进一步学习和探索,找到把猜想变成定理的方法,赢得数学界皇冠上的明珠!

本文来自网络,不代表管理窝立场。转载请注明出处: https://www.guanliwo.com/a/zx/26486.html
上一篇养猪,还是一门好生意吗?
下一篇 成语接龙
管理窝

作者: 管理窝

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部