メルセンヌ素数とは?
素数の中で、メルセンヌ数の素数を「メルセンヌ素数」と呼びます。
このページでは、メルセンヌ数とメルセンヌ素数の説明に加えて、メルセンヌ素数の一覧をダウンロードできるようにしてあります。
メルセンヌ数って何?
メルセンヌ数の求め方は、1、2、3、4、…という自然数を$n$とした時に、$2^{n}-1$の式で求めることができます。この答えがメルセンヌ数です。
このメルセンヌ数が素数の時、その素数を「メルセンヌ素数」と呼びます。
答えが素数の時は$n$も素数です。(しかし$n$が素数でも、答えは全てが素数にはなりません。)
メルセンヌ素数は $2^{p}-1=M_p$という数式で表すこともあります。
メルセンヌ数はとても面白い特徴を持った数字です。もう少し詳しくメルセンヌ数を理解してみましょう。
メルセンヌ数を計算してみよう
まず、$2^{n}-1$の$n$に数字を当てはめて計算してみましょう。
※例: $2^{3}=2\times{2}\times{2}$です。
$n=2$の場合 $2^{2}-1=3$
$n=3$の場合 $2^{3}-1=7$
$n=4$の場合 $2^{4}-1=15$
$n=5$の場合 $2^{5}-1=31$
$n=6$の場合 $2^{6}-1=63$
$n=7$の場合 $2^{7}-1=127$
$n=8$の場合 $2^{8}-1=255$
$n=9$の場合 $2^{9}-1=511$
上の赤い行は素数ですからメルセンヌ素数です。
メルセンヌ数の何が面白いかというと、これらの数値を2進数にしたときに全部1になるのです。
「??」ですか?
二進数って何?
2進数とは、0と1だけで表す数のことで、2で桁が上がる数字です。
でも私たちは10で桁が上がる10進数を使いますから馴染みがありませんね。数字を2進数になおして理解してみましょう。
10進数 | 2進数 | 2進数にする考え方 |
---|---|---|
0 | 0 | 0と1は10進数も2進数も同じ |
1 | 1 | |
2 | 10 | 1と0しか使えないので、2は桁を増やして「10」 |
3 | 11 | 3は2の「10」の1桁目を1にして「11」 |
4 | 100 | 1と0しか使えないので、4は桁を増やして「100」 |
5 | 101 | 5は4の「100」の1桁目を1にして「101」 |
6 | 110 | 6は5の「101」の2桁目を1にし、1桁目を0にして「110」 |
7 | 111 | 7は6の「110」の1桁目を1にして「111」 |
8 | 1000 | 1と0しか使えないので、8は桁を増やして「1000」 |
9 | 1001 | |
10 | 1010 | |
11 | 1011 | |
12 | 1100 | |
13 | 1101 | |
14 | 1110 | |
15 | 1111 |
↑この一覧表で赤文字の部分を見て下さい。
2進数にしたときに、全部1の数字がありますね。これがメルセンヌ数なのです。上の表ですと、3、7、15です。更にメルセンヌ数は、31、63、127、255、511、1023、2047、8191と続きます。
では、$2^{n}-1$で計算した答えを二進数になおしてみましょう。赤字はメルセンヌ素数です。
$2^{2}-1=3$ 二進数では$11$
$2^{3}-1=7$ 二進数では$111$
$2^{4}-1=15$ 二進数では$1111$
$2^{5}-1=31$ 二進数では$11111$
$2^{6}-1=63$ 二進数では$111111$
$2^{7}-1=127$ 二進数では$1111111$
$2^{8}-1=255$ 二進数では$11111111$
$2^{9}-1=511$ 二進数では$111111111$
※よく見ると、メルセンヌ数を2進数に直すと$n$の数に等しい回数だけ、1が並ぶことがわかりますね。
このうなメルセンヌ数の特徴から、メルセンヌ素数も2進数にすると1が$n$回並ぶ素数なのです。面白いですね!(面白くないか。)
メルセンヌ素数一覧・ダウンロード
現在までに分かっている50個のメルセンヌ素数の$2^{p}-1=M_p$の式を一覧にしました。
途中までメルセンヌ素数(計算結果)も併記しました。(素数自体が大きいものは、クリックすると答えが表示され、もう一度クリックすると答えが隠れます。)
2018年1月現在最大の50番目の素数は$2^{77232917}-1$です。$2^{77232917}-1$とは、${2}\times{2}\times{2}$…と、$77232917$回掛け算してから1を引いた数です。2324万9425桁の数字なんですよ!すごいですね~!
49番目のメルセンヌ素数では$2^{74207281}-1$で、2233万8618桁もありますし、48番目のメルセンヌ素数$2^{57885161}-1=$も1742万5170桁あり、48番目の素数を書いたファイルでさえ17メガバイト(MB)を超えるサイズになります!
※$2^{11213}-1$以降どんどん桁数が大きくなるので、式のみ記載しました。これらのメルセンヌ素数が必要な方は、下部からメルセンヌ素数一覧をダウンロードできます。
- $2^{2}-1=3$
- $2^{3}-1=7$
- $2^{5}-1=31$
- $2^{7}-1=127$
- $2^{13}-1=8191$
- $2^{17}-1=131071$
- $2^{19}-1=524287$
- $2^{31}-1=2147483647$
- $2^{61}-1=2305843009213693951$
- $2^{89}-1=$素数を表示
- 618970019642690137449562111
- $2^{107}-1=$素数を表示
- 162259276829213363391578010288127
- $2^{127}-1=$素数を表示
- 170141183460469231731687303715884105727
- $2^{521}-1=$素数を表示
- 6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057151
- $2^{607}-1=$素数を表示
- 531137992816767098689588206552468627329593117727031923199444138200403559860852242739162502265229285668889329486246501015346579337652707239409519978766587351943831270835393219031728127
- $2^{1279}-1=$素数を表示
- 10407932194664399081925240327364085538615262247266704805319112350403608059673360298012239441732324184842421613954281007791383566248323464908139906605677320762924129509389220345773183349661583550472959420547689811211693677147548478866962501384438260291732348885311160828538416585028255604666224831890918801847068222203140521026698435488732958028878050869736186900714720710555703168729087
- $2^{2203}-1=$素数を表示
- 1475979915214180235084898622737381736312066145333169775147771216478570297878078949377407337049389289382748507531496480477281264838760259191814463365330269540496961201113430156902396093989090226259326935025281409614983499388222831448598601834318536230923772641390209490231836446899608210795482963763094236630945410832793769905399982457186322944729636418890623372171723742105636440368218459649632948538696905872650486914434637457507280441823676813517852099348660847172579408422316678097670224011990280170474894487426924742108823536808485072502240519452587542875349976558572670229633962575212637477897785501552646522609988869914013540483809865681250419497686697771007
- $2^{2281}-1=$素数を表示
- 446087557183758429571151706402101809886208632412859901111991219963404685792820473369112545269003989026153245931124316702395758705693679364790903497461147071065254193353938124978226307947312410798874869040070279328428810311754844108094878252494866760969586998128982645877596028979171536962503068429617331702184750324583009171832104916050157628886606372145501702225925125224076829605427173573964812995250569412480720738476855293681666712844831190877620606786663862190240118570736831901886479225810414714078935386562497968178729127629594924411960961386713946279899275006954917139758796061223803393537381034666494402951052059047968693255388647930440925104186817009640171764133172418132836351
- $2^{3217}-1=$素数を表示
- 259117086013202627776246767922441530941818887553125427303974923161874019266586362086201209516800483406550695241733194177441689509238807017410377709597512042313066624082916353517952311186154862265604547691127595848775610568757931191017711408826252153849035830401185072116424747461823031471398340229288074545677907941037288235820705892351068433882986888616658650280927692080339605869308790500409503709875902119018371991620994002568935113136548829739112656797303241986517250116412703509705427773477972349821676443446668383119322540099648994051790241624056519054483690809616061625743042361721863339415852426431208737266591962061753535748892894599629195183082621860853400937932839420261866586142503251450773096274235376822938649407127700846077124211823080804139298087057504713825264571448379371125032081826126566649084251699453951887789613650248405739378594599444335231188280123660406262468609212150349937584782292237144339628858485938215738821232393687046160677362909315071
- $2^{4253}-1=$素数を表示
- 190797007524439073807468042969529173669356994749940177394741882673528979787005053706368049835514900244303495954950709725762186311224148828811920216904542206960744666169364221195289538436845390250168663932838805192055137154390912666527533007309292687539092257043362517857366624699975402375462954490293259233303137330643531556539739921926201438606439020075174723029056838272505051571967594608350063404495977660656269020823960825567012344189908927956646011998057988548630107637380993519826582389781888135705408653045219655801758081251164080554609057468028203308718724654081055323215860189611391296030471108443146745671967766308925858547271507311563765171008318248647110097614890313562856541784154881743146033909602737947385055355960331855614540900081456378659068370317267696980001187750995491090350108417050917991562167972281070161305972518044872048331306383715094854938415738549894606070722584737978176686422134354526989443028353644037187375385397838259511833166416134323695660367676897722287918773420968982326089026150031515424165462111337527431154890666327374921446276833564519776797633875503548665093914556482031482248883127023777039667707976559857333357013727342079099064400455741830654320379350833236245819348824064783585692924881021978332974949906122664421376034687815350484991
- $2^{4423}-1=$素数を表示
- 285542542228279613901563566102164008326164238644702889199247456602284400390600653875954571505539843239754513915896150297878399377056071435169747221107988791198200988477531339214282772016059009904586686254989084815735422480409022344297588352526004383890632616124076317387416881148592486188361873904175783145696016919574390765598280188599035578448591077683677175520434074287726578006266759615970759521327828555662781678385691581844436444812511562428136742490459363212810180276096088111401003377570363545725120924073646921576797146199387619296560302680261790118132925012323046444438622308877924609373773012481681672424493674474488537770155783006880852648161513067144814790288366664062257274665275787127374649231096375001170901890786263324619578795731425693805073056119677580338084333381987500902968831935913095269821311141322393356490178488728982288156282600813831296143663845945431144043753821542871277745606447858564159213328443580206422714694913091762716447041689678070096773590429808909616750452927258000843500344831628297089902728649981994387647234574276263729694848304750917174186181130688518792748622612293341368928056634384466646326572476167275660839105650528975713899320211121495795311427946254553305387067821067601768750977866100460014602138408448021225053689054793742003095722096732954750721718115531871310231057902608580607
- $2^{9689}-1=$素数を表示
- 4782202788054612029528392986600059097414971724022365008513345109918378950942662970278927686112707894586824720981524256319306585052676834087480834429433264797425893247623688331021633208954847354805799943341309825989013743806187109581043148680813778321530496715601563282624414040398143207622036272190408590790537203475256105564071579263867875240985573356522656108542128577321057879052328865035355873615679363655889925711574420153832091752422843046918811427400662135559303516853703976812686385750376227787949580582081831261725701003498206512329872677233489510953469375683037038373999696771585788905639115522613405495707184524158219208223766442059014593330657009722153962376853423770486138578089775621301167811299166407361746606697808186757966914671246073712904200588408923186387737887675292886953797066980967406053530122853539036965490224784924649007954898678503314655546475504501686187354866964374552614120640782949622452027788962138602665933147687696322089504278791624651519312327831756553779377194524673395819281486668576384019590720179413349582970319393884388810494546040342087536563628332152073181614300721769371426238517540520845214665313301183551962591849558938499025348780376716477073930634436840084468255937443451690315999349137664638968972614199015304906547819056227171224947070739716300953775743441307920501863532234466545645695774331885044978250148663467372130392099894852145190998232878772486650513010816769902892518719250066947215706536216248696240569256865554296221552211560427778662545936998801070186162601476474293459830183651273363462732675883060701410359254829149774339297173680765610959599911309189788238350131635672661435969218239977196933874395403996623675580528211207136396370858056051160781770985452576988032333812939272752101944629527490313835551985197095928885236415301789218675141014541203096191270934369039522098280317668942061325572349643638403056487349290884223786292887472231219032385281034091824306618947740727265524284893304474861454942076799041739447165838281671410435831206790501914527326287370339974707206016882562827404270170322606727980343479326425730091839813077719322455394763960606588214326603156141490740557698055166263044447583756711516490181193442236859424151843795389335765432129944054855345155859273424561825146813714720606287781021240923708021492298349635179527270302962970156927686511635050080407282674252362644695710769768866137302789313609674382719017385508484663373476120843567983065059558072935110637544240807350667082987233779768874938983584523095638996120616318634391967112086464384649470963230072729200912586147267999762496709852769503535733924416202657720741248683592202828983311140833923302433917797976990311425843619350936754483811194408812763388084204451804912454383884180800945275626668057628954763384641305107753773247082495804533355717481965025070819730466422826105697510564289798951182192885976352229053898948737614642139910911535864505818992696826225754111
- $2^{9941}-1=$素数を表示
- 34608828249085121524296039576741331672262866890023854779048928344500622080983411446436437554415370753366448674763505018641470709332373970608376690404229265789647993709760358469552319045484910050304149809818540283507159683562232941968059762281334544739720849260904855192770626054911793590389060795981163838721432994278763633095377438194844866471124967685798888172212033000821469684464956146997194126921284336206463313859537577200462442029064681326087558257488470489384243989270236884978643063093004422939603370010546595386302009073043944482202559097406700597330570799507832963130938739885080198416258635194522913042562936679859587495721031173747796418895060701941717506001937152430032363631934265798516236047451209089864707430780362298307038193445486493756647991804258775574973833903315735082891029392359352758617185019942554834671861074548772439880729606244911940066680112823824095816458261761861746604034802056466823143718255492784779380991749580255263323326536457743894150848953969902818530057870876229329803338285735419228259022169602665532210834789602051686546011466737981306056247480055071718250333737502267307344178512950738594330684340802698228963986562732597175372087295649072830289749771358330867951508710859216743218522918811670637448496498549094430541277444079407989539857469452772132166580885754360477408842913327292948696897496141614919739845432835894324473601387609643750514699215032683744527071718684091832170948369396280061184593746143589068811190253101873595319156107319196071150598488070027088705842749605203063194191166922106176157609367241948160625989032127984748081075324382632093913796444665700601391278360323002267434295194325607280661260119378719405151497555187549252134264394645963853964913309697776533329401822158003182889278072368602128982710306618115118964131893657845400296860012420391376964670183983594954112484565597312460737798777092071706710824503707457220155015899591766244957768006802482976673920392995410164224776445671222149803657927708412925555542817045572430846389988129960519227313987291200902060882060733762075892299473666405897427035811786879875694315078654420055603469625309399653955932310466430039146465805452965014040019423897552675534768248624631951431493188170905972588780111850281190559073677771187432814088678674286302108275149258477101296451833651979717375170900505673645964696355331369819296000267389583289299126738345726980325998955997501176664201042888546085699446442834195232948787488410595750197438786353119204210855804692460582533832967771946911459901921324984968810021189968284941331573164056304725480868921823442538199590383852412786840833479611419970101792978355653650755329138298654246225346827207503606740745956958127383748717825918527473164970582095181312905519242710280573023145554793628499010509296055849712377978984921839997037415897674154830708629145484724536724572622450131479992681684310464449439022250504859250834761894788889552527898400988196200014868575640233136509145628127191354858275083907891469979019426224883789463551
- $2^{11213}-1$ ※
- $2^{19937}-1$
- $2^{21701}-1$
- $2^{23209}-1$
- $2^{44497}-1$
- $2^{86243}-1$
- $2^{110503}-1$
- $2^{132049}-1$
- $2^{216091}-1$
- $2^{756839}-1$
- $2^{859433}-1$
- $2^{1257787}-1$
- $2^{1398269}-1$
- $2^{2976221}-1$
- $2^{3021377}-1$
- $2^{6972593}-1$
- $2^{13466917}-1$
- $2^{20996011}-1$
- $2^{24036583}-1$
- $2^{25964951}-1$
- $2^{30402457}-1$
- $2^{32582657}-1$
- $2^{37156667}-1$
- $2^{42643801}-1$
- $2^{43112609}-1$
- $2^{57885161}-1$
- $2^{74207281}-1$
- $2^{77232917}-1$
- 一覧ダウンロード
- メルセンヌ素数式一覧ダウンロードはこちらからどうぞ。(Mersenne_prime.txt 1.1MB)
単なる素数も美しいですが、メルセンヌ素数はさらにエレガントな魅力がありますね!
50番目のメルセンヌ素数$2^{77232917}-1$は、2324万9425桁の素数ですが、パソコン(0と1で考える2進数)でこのメルセンヌ素数$2^{77232917}-1$を表示するときには、7723万2917個の1が並んだ2進数になります。
2進数って面白いでしょ?(面白って言って!笑)