梅森尼数是指能使2^n-1为素数的数n,求[2,21]范围内有多少个梅森尼数?

作者&投稿:郗明 (若有异议请与网页底部的电邮联系)
梅森尼数是指能使2的n次方减1为素数的数n,求[2,21]范围内最大的梅森尼数~

524287,当n=19时.

2,3,5,7,13,17,19
最大的是19!

序号 梅森素数 位数 发现时间
�0�21 M2 1 公元前300
�0�22 M3 1 公元前300
�0�23 M5 2 公元前100
�0�24 M7 3 公元前100
�0�25 M13 4 15世纪中叶
�0�26 M17 6 1603
�0�27 M19 6 1603
�0�28 M31 10 1772
�0�29 M61 19 1883
�0�210 M89 27 1911
�0�211 M107 33 1914
�0�212 M127 39 1876
�0�213 M521 157 1952
�0�214 M607 183 1952
�0�215 M1279 386 1952
�0�216 M2203 664 1952
�0�217 M2281 687 1952
�0�218 M3217 969 1957
�0�219 M4253 1281 1961
�0�220 M4423  1332 1961
�0�221 M9689 2917 1963
�0�222 M9941 2993 1963
�0�223 M11213 3376 1963
�0�224 M19937 6002 1971
�0�225 M21701 6533 1978
�0�226 M23209 6987 1979
�0�227 M44497 13395 1979
�0�228 M86293 25962 1983
�0�229 M110503 33265 1988
�0�230 M132049 39751 1983
�0�231 M216091 65050 1985
�0�232 M756839 227832 1992
�0�233 M859433 258716 1995
�0�234 M1257787 378632 1996
�0�235 M1398269 420921 1996
�0�236 M2976221 895933 1997
�0�237 M3021377 909526 1998
�0�238 M6972593 2098960 1999
�0�239 M13466917 4053946 2001
�0�240 M20996011 6320430 2003
�0�241 M24036583 7235733 2004
�0�242 M25964951 7816230 2005
�0�243 M30402457 9152052 2005
�0�244 M32582657 9808358 2006

如上,只有两个

#include<math.h>
main()
{
long t,n=0
,i;
for(i=2;i<=21;i++)
{
t=pow(2,i);
if(susu(t))
n++;
}
printf("the sum is:%d",n);
}
int susu(int n)
{
int i;
for(i=2;i<=n/2;i++)
if(n%i==0)
return 0;
return 1;
}


谁知道AMD对CPU的发展史吗?
到当年9月份,AMD已经筹得所需的资金,可以开始生产,并迁往加州森尼韦尔的901 Thompson Place,这是AMD...1974--AMD以2650万美元的销售额结束第五个财年。 1974-79 - 定义未来 AMD在第二个五年的发展让全...对于改革AMD而言,这些范围指的是兼容IBM计算机的微处理器、网络和通信芯片、可编程逻辑设备和高性能内存...

什么是 AMD
为了在批量生产过程中无缝地采用这些先进的技术, AMD 开发和采用了数百种旨在自动确定最复杂的制造决策的专利技术。这些业界独一无二的功能现在被统称为自动...到当年9月份,AMD已经筹得所需的资金,可以开始生产,并迁往加州森尼韦尔的901 Thompson Place,这是AMD的第一个永久性办公地点。 在创办初期,AMD的主要业务...

谁能介绍一下AMD公司的历史吗??与及今天的AMD情况???
到当年9月份,AMD已经筹得所需的资金,可以开始生产,并迁往加州森尼韦尔的901 Thompson Place,这是AMD...1974--AMD以2650万美元的销售额结束第五个财年。 1974-79 - 定义未来 AMD在第二个五年的发展让全...对于改革AMD而言,这些范围指的是兼容IBM计算机的微处理器、网络和通信芯片、可编程逻辑设备和高性能内存...

库伦旗19358239108: 梅森尼数是指能使2^n - 1为素数的数n,求[2,21]范围内有多少个梅森尼数? -
闫齿止咳: #include<math.h> main() {long t,n=0,i;for(i=2;i<=21;i++){t=pow(2,i);if(susu(t))n++;}printf("the sum is:%d",n); }int susu(int n) {int i;for(i=2;i<=n/2;i++)if(n%i==0)return 0;return 1; }

库伦旗19358239108: 梅森尼数是指能使2^n - 1为素数的数n,求[1,15]范围内有多少个梅森尼数. 大神帮我看看为什么错了?
闫齿止咳:#include<iostream> #include<cmath> using namespace std; int main() { long n,msns; int t,k=0; for(n=1;n<=15;n++) { msns=pow(2,n)-1;for(t=2;t<msns;t++){if(msns%t==0) break;}if(t>=msns ) k++; } cout<<k<<endl; return 0; }

库伦旗19358239108: 梅森尼数是指能使2^n - 1为素数的数n,求10000范围内有多少个梅森尼数?
闫齿止咳: 到1983年为止,人们已经知道有28个梅森尼数,所对应的幂指数n分别为:2,3,5,7,13,17,19,31,61,89,107,127,521,607,1279,2203,2281,3217,4253,4423,9689,9941,11213,19937,21701,23209,44497,86243.从第十三个开始,都是在1952年之后借助于计算机而陆续发现的.这个纪录还可能不断被刷新.世界各国的科技新闻中,时常会冒出所谓"最大质数"的报道,通常即是指这种梅森尼数而言.

库伦旗19358239108: 什么是梅森素数? -
闫齿止咳: 能写成2^n-1的素数.

库伦旗19358239108: 梅森素数是什么? -
闫齿止咳: 梅森数(Mersenne number)是指形如2^p-1的正整数,其中指数p是素数,常记为Mp .若Mp是素数,则称为梅森素数(Mersenne prime).p=2,3,5,7时,Mp都是素数,但M11=2047=23*89不是素数

库伦旗19358239108: C语言如何做这个题??? -
闫齿止咳: #include#include int CheckPrime(int a) //检测a是否是质数 { int i; for(i=2;i if(!(a%i)) break; if(i>=a) return 1; //质数返回1 else return 0; //非质数返回0 } void main() { int n,num=0,flog=0,sec; long int temp; for(n=21;n>=1;n--) { temp=(int)pow(2,n)-1;//...

库伦旗19358239108: 梅森数是指形如2的N次方减1的数,记为第n个M;如果一个梅森数是素数则称为梅森素数那么第十一个M是多少,它是否是一个梅森素数,如果是它可以分解... -
闫齿止咳:[答案] ∵M[11] = 2^11 - 1 = 2047 = 89 * 23 ∴M[11]不是一个梅森素数,它可以分解成:89 * 23

库伦旗19358239108: 524287是质数吗? -
闫齿止咳: 属于梅森素数,确实是质数(质数是素数的别称),而且是特殊的质数.望采纳. 524287 是1588年 Pietro Cataldi发现的梅森素数.梅森数(Mersenne number)又称麦森数,是指形如2^p-1的正整数,其中指数p是素数,常记为Mp .若其是...

库伦旗19358239108: ,什么事是梅森素数? -
闫齿止咳: 梅森素数是由梅森数而来.所谓梅森数,是指形如2p-1的一类数,其中指数p是素数,常记为Mp .如果梅森数是素数,就称为梅森素数.容易证明,若Mp是素数,则其指数p必为素数,反之却不一定.比如当p=2,3,5,7时,Mp都是素数,但M11=2047=23*89却不是素数.实际上能够使Mp成为素数的指数p值少之又少,这表明梅森素数在正整数中的分布异常稀疏.是否有无穷多个梅森素数是数论中未解决的难题之一.截至2013年2月累计发现48个梅森素数,最大的是 257885161-1(即2的57885161次方减1),有17,425,170位数.

库伦旗19358239108: 编写函数 IsMersenne,判断某个大于2的正整数是否为梅森尼数,梅森尼数是指形如2n - 1的素数,如3,7,31 -
闫齿止咳: m=sqrt((double)x); for(i=2;i<=m;i++) {if(x%i==0) return FALSE;} for(j=1;j<x+2;j*=2) { if(x==j-1) return TRUE; } return FALSE; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网