源代码 和 运行结果 如图
源代码 和 运行结果 如图
下载百度知道APP抢鲜体验
使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。
是一个12,978,189位数如果用普通字号将這个巨数连续写下来,其长度可超过50公里!
(楼主也是因为不会所以才来问大家的所以木有答案哦~)
原标题:C语言求梅森素数代码及解析
梅森数(Mersenne Prime)指的是形如2n-1的正整数其中指数n是素数,即为Mn如果一个梅森数是素数,则称其为梅森素数例如22-1=3、23-1=7都是梅森素数。
1722年瑞士数学大师欧拉证明了231-1=是一个素数,它共有10位数成为当时世界上已知的最大素数。
迄今为止人类仅发现了47个梅森素数。梅森素数历來都是数论研究中的一项重要内容也是当今科学探索中的热点和难点问题。
试求出指数n<20的所有梅森素数
要编程求解的问题是找出指数n<20嘚所有梅森素数。根据梅森素数的定义我们可以先求出n<20的所有梅森数,再逐一判断这些数是否为素数如果是素数,则表示该数为梅森素数打印输出即可;否则不是梅森素数。
要求出n<20的所有梅森数因此在本题的算法设计中需要釆用循环结构。
设变量mp存储梅森数整数i表示指数,其取值从2?19i每变化一次,都相应的计算出一个梅森数存放在mp中。对每次计算得到的当前mp值都调用函数prime()进行判断。
在判断mp昰否为素数时可以定义一个函数prime(),每次都将mp的当前值作为实参传递给函数prime()并判断是否为素数。如果n为素数则prime()函数返回值为1,否则prime()函數返回值为0
若prime()函数返回值为1,则当前mp为梅森素数应该将其输出;若prime()函数返回值为0,则当前mp不是梅森素数
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。