素数无穷证明的新方法

2000年以前,euclid第一个证明了素数有无穷多个,

其后2000年,无数人都给出了很多版本的证明思路

euclid的大概证明思路如下:

证明:

设:素数只有有限个,设为q1,q2,q3....qn;

考虑:p=q1q2q3......qnqn+1.

显然,p不能被q1q2q3......qn整除.

故存在2种情况:1.p为素数,2.p有除q1,q2,q3....qn以外的其他素因子.

所以,无论哪种情况,都说明素数不止有限个.

故假设不成立,所以素数有无穷个.

现在,我们不用euclid的反证法,我们用正面直接证明的方法来证明这个问题

这个证明方法最早是由goldbach提出来的,这个思想是:找出一个各项均大于1的无穷的整数数列{an},使这个数列的项两两互素,若有1个素数p1整除a1,那么,他不能整除a2,若p2是整除a2的素数,那么,p1和p2是不相同的素数,且p2它不能整除a3,设p3是整除a3的素数,p1,p2,p3互不相同,这样一直做下去,我们就得到一个无穷的素数数列,也就是说:素数的个数是无穷的.

这种思想不需要用到算术的基本定理,而且,判断两个数互素较为简单。此外,这种思想关键是要去找一个各项大于1,且互为素数的无穷数列,因此,具有实用性,goldbach在1891年曾经注意到费尔马数是两两互为素数的性质,证明了素数有无穷多个。

现在,借鉴这种思想,提供一种新的素数的证明方法,如下:

构造数列{an},如下:

a1=3,a2=5,a3=a1a2-1=14,a4=a1a2a3-1=209.....

此处,数列的通项:an=f(a(n-1)....)

可以证明,这个数列是两两互为素数的.

事实上,设:n>m

若有素数p整除an,am,那么,素数p整除an-am=a1a2...an-1-a1a2...am-1=a1a2...am-1(amam+1...an-1-1)

从而,p整除ai(1<=i<=m-1)之一或amam+1...an-1-1

若p整除ai(1<=i<=m-1)之一,由p整除am及ai(1<=i<=m-1)之一,可得p整除1=a1a2...am-1-am=a1a2...am-1-(a1a...am-1-1)矛盾.

若p整除amam-1...an-1-1,那么,由p整除am,知p整除 amam+1...an-1-(am...an-1-1)=1,也得出矛盾.

所以,数列{an}中的项是两两互为素数的.

因此,素数有无穷多个.

时间: 2024-11-16 08:52:44

素数无穷证明的新方法的相关文章

费马定理证明的新方法

费马定理:Xn+Yn=Zn(n>=3)时,且X,Y,Z同时为正整数,等式不成立. 12=   1    13=    1    14=     122=   4    23=    8    24=    1632=   9    33=   27    34=    8142=  16    43=   64    44=   25652=  25    53=  125    54=   62562=  36    63=  216    64=  129672=  49    73=  3

涨知识:数学家又发现了平分披萨的新方法

在分披萨时,有没有纠结怎样分大小才相等?好消息来了,现在有一群数学家教你怎样将披萨分成大小都一样的奇葩形状. 在分披萨时有一个已被证明的数学定理(披萨定理),但大多讲的都是圆形几何学.但这阻止不了这群来自利物浦大学的数学家去研究新的分披萨方法. 这个方法是建立在一个把完整的披萨分成 6 块相等的弧形(有点像盾牌的形状)披萨,然后每块对半切变成 12 块大小相等的披萨实验上的.就像这样: 这个新方法可以让你用更复杂的切法依然能切出面积相等的披萨.这个方法主要是切出一块像盾牌形状的披萨就行了,注意第

mootools1.5.1使用笔记:类的创建,继承,为现有类增加新方法

1 window.addEvent('domready',function(){ 2 /* 3 新建一个Person的类,类上有 name属性和sayHello方法: 4 */ 5 var Person= new Class({ 6 initialize: function(name){ 7 this.name = name; 8 }, 9 sayHello:function(){ 10 console.log('hello,my name is '+this.name); 11 } 12 13

JavaScript笔记6-数组新方法

七.ECMAScript5关于数组的新方法 1.forEach():遍历数组,并为每个元素调用传入的函数;     举例: 1 var a = [1,2,3]; 2 var sum = 0; 3 //传一个参数 4 a.forEach(function(v){ 5 sum += v; 6 }); 7 console.log(sum);//6 8 //传三个参数(元素值,索引,数组本身) 9 a.forEach(function(v,i,a){ 10 a[i]=v+1;//为数组的各元素自加1 1

iOS5中UIViewController的新方法

iOS5中UIViewController的新方法 前言 在苹果的 WWDC2011 大会视频的<Session 101 - What’s New in Cocoa> 和<Session 102 - Implementing UIViewController Containment> 中介绍了苹果在 iOS5 中给 UIViewController 新增加的 5 方法以及一个属性: // 方法addChildViewController: removeFromParentViewC

MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult

MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult 导出EXCEL方法总结:MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可:优点:可设置丰富的EXCEL格式,缺点:需要依赖EXCEL组件,且EXCEL进程在服务器中无法及时关闭,以及服务器上会存留大量的不必要的XLS文件: 2.设置输出头为:application/ms-excel,再输出拼接的HTM

(九十二)加速计的用法(过期方法+新方法)

在iOS4之前,使用UIAccelermeter获取加速计的数据,这种方法由于简单,沿用至今. 加速计坐标系如图所示,在相应轴向受力时会有数据变化. [过期方法] ①定义UIAccelerometer对象,设置代理,采样间隔,然后系统会自动调用代理方法. UIAccelerometer *ac = [UIAccelerometer sharedAccelerometer]; ac.delegate = self; ac.updateInterval = 1 / 30.0; ②然后遵循协议UIAc

新方法写动画

现在必须用appframework.js 做各种效果, 语法是和jquery差不多的,没看到animate.slideUp这些, 貌似是有用自定义标签的属性来做的,还没有试过. 不过因为现在不用考虑浏览器兼容性,只要伺候chrome一位,这些东西用css3的transition就可以轻松搞定. 任何属性,加上transition,在改变设置过transition的属性值时就会有动画效果. 语法 transition: property duration timing-function delay

UIViewController新方法的使用(transitionFromViewController:toViewController:duration:options:animations:completion:)

iOS5中,UIViewController新添加了几个方法: - (void)addChildViewController:(UIViewController *)childController NS_AVAILABLE_IOS(5_0); - (void) removeFromParentViewController NS_AVAILABLE_IOS(5_0); - (void)transitionFromViewController:(UIViewController *)fromView