梅森数形如2n−1的素数称为梅森数(Mersenne Number)

形如2n−1的素数称为梅森数(Mersenne Number)。例如22−1=3、23−1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了231−1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。

本题要求编写程序,对任一正整数n(n<20),输出所有不超过2n−1的梅森数。

输入格式:

输入在一行中给出正整数n(n<20)。

输出格式:

按从小到大的顺序输出所有不超过2n−1的梅森数,每行一个。如果完全没有,则输出“None”。

输入样例:

6

输出样例:

3
7
31
#include<stdio.h>
#include<math.h>
int main()
{
    int n,i,j,k;
    int flag=1;                     //判断是否是素数
    scanf("%d",&n);
    if(n<2)
        printf("None");             //小于2的不存在梅森数
    for(i=2;i<=n;i++)
    {
        flag=1;
        k=pow(2,i)-1;
        for(j=2;j<k;j++)
        {
            if(k%j==0)              //不是素数
            {
                flag=0;
                break;
            }
        }
        if(flag)
            printf("%d\n",k);         //梅森数
    }
}

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 梅森数形如2^n-1的素数,例如2^2-1=3、2^3-1=7都是梅森数。在1722年,瑞士数学大师欧拉证明了2^31-1=2147483647是一个素数,这被认为是当时世界上已知的最大素数。欧拉在双目失明的情况下完成了这项成就。 ### 回答2: 梅森数是指形如2的n次方减去1的数字,其中n为大于等于2的正整数,例如2的2次方减去1等于3,2的3次方减去1等于7,这些数字都是素数,被称为梅森数。 欧拉是一个著名的数学家,他在1722年证明了2的31次方减去1等于2147483647这个数字是一个素数,由于这个数字是当时世界上“已知最大素数”,因此欧拉被认为是当时世界上最伟大的数学家之一。 欧拉的方法是利用梅森数的特殊性质,利用一个叫做“费马小定理”的公式来判断这个数字是否为素数。费马小定理是指如果p是一个素数,a是一个整数,那么a的p次方减去a一定是p的倍数,即a的p次方减去a可以表示为p乘以一个整数。欧拉利用这个公式来证明2的31次方减去1是素数,他首先验证了2的31次方减去1可以被2、3、5、7、11和13整除,然后再利用费马小定理来判断这个数字是否为素数,最终,他得出了结论,证明了2的31次方减去1是素数,创造了当时世界上“已知最大素数”的记录。 欧拉的方法被后来的数学家们广泛地应用,尤其是在寻找大素数的过程中,这个方法被称为“梅森素数测试法”,它是一种非常有效的数字质数测试方法。虽然目前已经发现了比2的31次方减去1更大的梅森数,并且被证明是素数,但欧拉在18世纪初所做出的这个发现,仍然被认为是数学史上的一个重要里程碑。 ### 回答3: 梅森数是指形如2^n-1的素数,其中n是自然数。它得名于17世纪的法国数学家梅森(Mersenne),他曾提出这样一个猜想:当n为自然数时,2^n-1是素数的充分必要条件为n是素数。但是,这个猜想并没有完全被证实,因为存在一个n,使得2^n-1为素数,但n不是素数。 欧拉在1722年证明了2^31-1=2147483647是一个素数,成为当时世界上“已知最大素数”的一个记录。但是,随着计算机技术的发展,人们能够利用计算机快速计算出更大的梅森数是否为素数。目前,已知的最大的梅森素数是2^82,589,933-1,它有24,862,048位。 梅森数的研究在数学界一直备受关注,与梅森素数相关的数学问题有很多,例如素数分布规律、完全数的性质等等。梅森素数还被应用于密码学和计算机科学中,因为它的二进制表示形式非常规则,可以更容易地进行计算和处理。 总之,梅森数是数学中一个非常有意思的问题,它的研究也在某种程度上推动了数学和计算机科学的发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值