`

梅森素数

阅读更多

古希腊数学家欧几里德就已证明素数有无穷多个,并提出一些素数可写成“2P-1”(其中指数P也是素数)的形式,其中17世纪法国数学家、法兰西科学院奠基人马林·梅森(Martin Mersenne)是其中成果较为卓著的一位,因此数学界将“2P-1”型的素数称为“梅森素数”。

1772年,欧拉在双目失明的情况下,靠心算证明了231-1(即2147483647)是第8个梅森素数,这个记录一百多年内都没有人打破。下面是欧拉证明素数有无穷多个的过程,但是梅森素数是否有无穷多个还没有人能证明。

假使素数p1,p2,p3……pn只有那么多个,现在有新数p=p1*p2*p3*……pn + 1,可见p无法被p1,p2,p3……pn任意一个整除,所以p是素数,那就和素数只有n个矛盾了,所以素数有无穷多个。

1996年,乔治·沃特曼编制了一个梅森素数计算程序,后来发展成为GIMPS(Great Internet Mersenne Prime Search,你可以从上面找到最新的第48个梅森素数发现的信息)项目,在超级计算机尝试之后,希望借助互联网和分布式计算的力量,寻找更大的梅森素数(现在已经有超过180个国家的近一百万台计算机参与计算)。

在寻找梅森素数的过程中,并不是漫无目的的。很容易证明,如果 2P-1 是素数,则 P 也一定是素数(这样我们就首先可以列出一个“可疑梅森素数清单”,进一步的计算原理可以在这里找到),证明如下:

假设2P-1 是素数的情况下,p却是合数,那么令p=r*s,r和s都是大于1的正整数,那么 xrs-1 就可以拆解成 xs-1 乘以 xs(r-1) + xs(r-2) + … + xs + 1。所以,如果p是合数的话,2p-1 也会是合数(因为它可以拆出 2s-1 的因子来),这与假设命题不符,所以p就只能是素数了。

值得注意的是,对于n>1,因为 x-1 可以整除 xn-1 ,所以如果要 xn-1 为素数的话,x-1 就必须等于1了,所以x就只能是2了。那么,就可以得到如下推论:

如果a和n都是大于1的正整数,如果 an-1 是素数的话,那么a就只能是2,而且n必须为素数

美国中央密苏里大学数学教授Curtis Cooper领导的研究小组于一周前的1月25日发现了已知的最大梅森素数——257885161−1(即2的57885161次方减1);该素数有17425170位,如果用普通字号将它连续打印下来,它的长度可超过65公里。

梅森素数的分布极不规则,连找到梅森素数的时间分布都极不规则,有时许多年未能找到一个,而有时则一下找到好几个,探索梅森素数的分布规律似乎比寻找新的梅森素数更为困难。中国的业余数学家周海中在1992年给出了梅森素数分布的精确表达式(“周氏猜测”):

对于素数p和梅森素数 Mp=2P-1 ,当 22^n<p<22^(n+1) 时,Mp有 2n+1-1 个;

推论:当 p<22^(n+1) 时,Mp有 2n+2-n-2 个。

梅森素数是测试计算机速度的一个有力工具,实际上寻找梅森素数的过程也推动了分布式计算的发展(数学这样的基础学科在寻找当前实际意义的时候往往如此,但是谁也无法预料对于未来的工程学科的发展能有多重大的意义),在实际领域,梅森素数也可以用来加密数据。由于把两个非常大的数相乘很容易,但是如果要把一个非常大的数分解,将是非常困难的,在这种加密设计中,要使用很大的素数,素数越大,理论上越不容易被破译。

文章系本人原创,转载请保持完整性并注明出自《四火的唠叨》

0
2
分享到:
评论

相关推荐

    关于梅森素数的倒数之和

    梅森素数是素数的一个特殊类型,以其形式M_n = 2^n - 1定义,其中n也是一个素数。例如,当n=2时,M_2=2^2-1=3,是一个梅森素数。这些素数特别吸引数学家的兴趣,因为它们与其它数学领域有着紧密的联系,如生成偶数...

    python实现反向数,回文数,回文素数,反素数,梅森素数,双素数。

    本文将详细介绍如何用Python实现反向数、回文数、回文素数、反素数、梅森素数以及双素数的判断。 首先,让我们定义这些概念: 1. **反向数**:一个数的反向数是将其每一位数字颠倒后得到的新数。例如,123的反向数...

    蓝桥杯学习资料大全-题目参考代码-梅森素数.zip

    梅森素数是一种特殊的素数形式,以数学家皮埃尔·德·费马的学生约翰·梅森命名。在数学领域,梅森素数是形如2^p - 1的素数,其中p本身也是一个素数。这些素数在数论中具有特别的地位,因为它们与梅森数(2^p)的...

    C语言实现求梅森素数的代码与解析

    C语言实现求梅森素数的代码与解析 梅森素数是一种特殊的素数,指的是形如2n-1的正整数,其中指数n是素数。梅森素数历来都是数论研究中的一项重要内容,也是当今科学探索中的热点和难点问题。通过C语言实现求梅森...

    小学数学数学故事梅森素数:千年不休的探寻之旅

    梅森素数,又称2P-1型素数,是一种特殊形式的素数,定义为2的某个素数次幂减去1。这种类型的素数最早由古希腊数学家欧几里得在公元前提出,他在证明素数无限性的过程中提到了这种结构。2P-1形式的素数在数学中具有...

    小学数学数学故事梅森素数:千年不休的探寻之旅2

    梅森素数,又称梅森数,是一种特殊形式的素数,定义为\(2^p - 1\),其中\(p\)自身也是一个素数。这些数的探究始于17世纪,由法国数学家马林·梅森提出。梅森素数的发现历史充满了挑战和传奇,其中不乏数学巨匠们的...

    小学数学数学故事梅森素数:第47个梅森素数被发现

    小学数学数学故事梅森素数:第47个梅森素数被发现

    第41个梅森素数已被发现 (2004年)

    梅森素数是素数理论中的一个重要概念,它的发现对于数学研究,尤其是素数分布的研究具有重要意义。梅森素数是指满足特定形式的素数,具体来说就是那些可以表示为2^n-1形式的素数,其中n本身也是一个素数。梅森素数的...

    matlab代码sqrt-Mersenne-primes-to-the-8th:梅森素数到第八

    CS1200-计算第八个梅森素数。 给定的MATLAB代码是这样的: clear ; clc ; close all ; format compact ; tol = 1e- 10 ; nlimit = 2000000000 ; primelist = primes(nlimit); nprimes = length(primelist) fprintf( ...

    mersenne-prime-search:生成和验证任意大的梅森素数

    我尝试生成和验证任意大的梅森素数。 当前最大的: M(859433)== 2 ^ 859433-1(258716位)(纯Python3) 梅森素数: 维基百科,自由的百科全书 已知最大术语2 ^ 77,232,917 − 1(2017年12月) OEIS索引A000668...

    小学数学数学故事梅森素数:千年不休的探寻之旅3

    小学数学数学故事梅森素数:千年不休的探寻之旅3

    melg-64:用梅森素数期实现64位最大均衡分布的F2线性生成器

    用梅森素数期实现64位最大均衡分布的F 2线性生成器 什么是MELG-64? 64比特M aximallyëquidistributed F 2 L - inear与梅森素数周期(MELG-64)G enerators是64位梅森-倍捻机型伪随机数生成器2014和2017之间产生,...

    05年秋江苏计算机二级VB上机试题及答案.pdf

    首先,程序的目标是找出2到10000之间能够表示为2的幂次减1形式的素数,即梅森素数(Mersenne Prime)。梅森素数是形如2^p - 1的素数,其中p本身也是一个素数。 在VB程序中,`Command1_Click`事件是当用户点击按钮时...

    VC对话框素数判定及程序反应时间

    寻找梅森素数不仅需要高效的素数判定,还需要对二进制表示和幂运算有深入理解,因为这些素数通常很大,常规方法可能不足以处理。 在这个对话框应用中,程序的反应时间可能通过计时函数(如C++的`clock()`或Windows ...

    算法-绝对素数(信息学奥赛一本通-T1153)(包含源程序).rar

    这些程序可能涵盖了基本的素数判断、梅森素数搜索以及优化技巧,比如使用位运算提高计算速度,或者利用动态规划和缓存策略避免重复计算。 在信息学奥赛中,掌握这类问题的解决方法不仅可以提升参赛者的算法设计能力...

    Post_Quantum_Provably_Secure_Authentication_and_MAC_from_Mers

    标题和描述提到的是基于梅森素数的后量子可证明安全认证与MAC(消息认证码)的研究。这个话题涉及到网络安全的前沿领域,尤其是随着量子计算的发展,传统的加密和安全机制可能不再足够安全,因此研究后量子时代的...

    Prime95v258.zip

    但找到一个梅森素数的几率小之又小,就算你拥有当今性能最强劲的处理器也要通过少则几个月长则几年的计算才能计算出一个结果,往往经过这么长时间的计算出来的却不是一个梅森素数,这就意味着您几个月甚至几年的努力...

Global site tag (gtag.js) - Google Analytics