新たな最大素数が見つかる 93
ストーリー by reo
行為がさらに持続できます 部門より
行為がさらに持続できます 部門より
ある Anonymous Coward 曰く、
今まで発見された中で最大の素数という「257,885,161-1」が見つかったそうだ。桁数を数えると 17,425,170 桁になるという (GIMPS のページ、本家 /. 記事より)。
GIMPS (Great Internet Mersenne Prime Search) プロジェクトのボランティア達が 36 万 CPU を使い、最大で毎秒 150 兆回の演算を行って発見されたという。48 個目のメルセンヌ素数である。
きっと (スコア:4, おもしろおかしい)
すでに知ってるはず (スコア:0)
プッチ神父は世界の終焉まで一度行ってしまったので、
人類が将来にわたって知りうるすべての素数を知ってる。
Re:すでに知ってるはず (スコア:1)
「2以外の素数を全部掛けて+1」
これって偶数では?
「素数を全部掛けて+1」
だと思います。
-- う~ん、バッドノウハウ?
何の役に立つんだ? (スコア:0)
あまりにも桁数がでかすぎて使いづらそうだw
#素数のミサワ (スコア:5, おもしろおかしい)
「疲れるわーメルセンヌ素数を2進で書いていく仕事疲れるわー」
Re:#素数のミサワ (スコア:1)
「あー知ってたわー二日くらい前に俺見つけてたわー」
Re: (スコア:0)
「よく見つけたな。俺の土下座の回数まであと一歩だぜ。」
Re:何の役に立つんだ? (スコア:4, 興味深い)
まさに「あまりにも桁数がでかすぎて使いづらそう」であることに価値があります。
知的好奇心とかではなく、実用的な意味で。
Re: (スコア:0)
でも暗号の鍵だけで10メガバイト以上なんて、使いづらいのは攻撃側だけじゃないような。
Re:何の役に立つんだ? (スコア:1)
コンピュータの処理能力はすぐに追いつきますよ。
Re:何の役に立つんだ? (スコア:2)
これだけだとそんなに役にたたないかもしれないが
これをもっと効率よく見つける公式でも作ることが出来たらウハウハになれるかもしれない。
Re: (スコア:0)
ウハウハどころじゃなくね?
真っ青になる人が続出する予感。
下手すると閉じ込められて毒の杯を手渡されるかもしれないぞ。
# RSAェ。。。
Re: (スコア:0)
神父さんが落ち着くまでに時間がかかるようになります
Re: (スコア:0)
孤独な数字はこの時期の私に勇気をくれる…
ちえくらべ (スコア:0)
地球人「なあ、お前らが今まで見つけた中で最大の素数って何?」
A星人『2132,049-1かな』
地球人「くすくす、その程度の文明レベルかよ。俺らなんて2257,885,161-1 だぜ?」
B星人『2XXX,XXX,XXX,XXX,XXX,XXX-1 は素数だ』
地球人「なん……だと……!?」
Re: (スコア:0)
もしかすると、他の惑星では、地球とは違う素数があるかもしれませんよ。
# 数学の根本命題は全宇宙規模において不変なのだろうか
Re:ちえくらべ (スコア:1)
さすがに整数とか素数の概念が違うってのは考えにくいけど、根っこにある公理系(に当たるもの)が全然違うとかはあるかもしれませんね。地球でも、直感主義数学とか、ちと変わった数学体系があるわけですし。
素数ネタで言えば、メルセンヌ素数以外で大きな素数候補を求める式とかですかね。
#チーラに聞いたら「自力で見つけろ」と突き放されるんだろうな
#ロシュワールド人に聞いてみたら面白いことを教えてもらえそうだ
Re:ちえくらべ (スコア:1)
それと同じことです。
ここではそういった方が分かり易いでしょう。
ついでにある計算はそれ自体かそれと同値の計算をしない限り未知です。
それが意識と計算を区別しない場合にラプラスの悪魔から我々を守るものです。
#FDIV バグ?知らんがな。
Re:ちえくらべ (スコア:1)
根本命題なら違うかもですね。
上にあるように公理系にも色々あります。
それを含めて素数としての話です。
Re: (スコア:0)
全宇宙どころか、宇宙があろうがなかろうが存在する絶対にして唯一の原理が数学だって聞いたことがあります
もうM48か (スコア:0)
M78が見つかるのはいつだろう<関係ありません
Re:もうM48か (スコア:2)
>ただし、メルセンヌ素数としての番号が確定しているものは、41番目までであり、
なので、その意味でのM48ではないような。人類が見つけた順番だと48番目だけど、小さいものからの順序で言うと48番目かどうかは未定、みたいな。小さい方から確定させて行きそうな気がしたので意外。
Re:もうM48か (スコア:3)
Wikipedia:
これ、去年末に検証が終わって、M42であることが確定してます。
GIMPS [mersenne.org]
Re: (スコア:0)
うむ。高校生だったニッケルとノルさんが発見したM25を懐かしく思い出した。
Re: (スコア:0)
小さい方から確定して言ってるんだろうけど、(と言うか、42の候補より小さい素数がないか
確認してるんだから小さい方からでないと確定できないっぽい)
ほかに検証している機関がすくないとかで追証出来てないんじゃない?
最低3つのアルゴリズムで検出しないといけない、んだけど2つしかないとか、みんな同じアルゴリズムとか。
そもそも使ってるアルゴリズムの網羅性に疑問があるとか。
あるいは、ある特定機関が認証しないといけないんだけどそこは確実だけど遅い手法を使ってるとか
マシンパワーあまり使えないとか(予算がない!)で手間取ってるとか。
Re:もうM48か (スコア:1)
書き間違いました>「確定」。確定は小さな方からでないと無理ですよね。
小さい方からしらみつぶしにして行くんじゃないのか、と意外に思った次第です。まあ、素数かどうか判定しやすいパターンを先にやってるとか深淵な理由があるんだろうなと想像は付きますが。
Re: (スコア:0)
追証の必要はない。
必要があると主張するなら、お前がやればいいだけ。
Q.E.D.
Re: (スコア:0)
クライアントを立ち上げてサーバから素数候補を受け取った人の殆どが結果を返却しません。
サーバの方では半年経つとその素数候補を別なクライアントに配布します。
なるべく小さい数から配布しているのですが、ある数値以下の素数候補について全て計算が終わるには凄く時間がかかります。
部門名 (スコア:0)
この素数を唱えてたら確実に遅○になるんじゃないか?
Re: (スコア:0)
そうだな、朝からこんな念仏となえていたら、遅刻しそうだよな
Re:部門名 (スコア:2)
イタリアの男には速い車が必要
全く分からん世界だ (スコア:0)
とりあえず3だけ異質だな。
Re: (スコア:0)
奇数の最小素数だな
C言語で2^57885161-1を計算するには (スコア:0)
どうすればいい?
なるべく簡単な方法で、Linuxでしたいです。
てか、いろんな言語で書いてってください。
Re:C言語で2^57885161-1を計算するには (スコア:1)
2^57885161-1
とか。
%% 計算は始めるけど、出力できるかどうかは知らん
の
Re:C言語で2^57885161-1を計算するには (スコア:1)
COREi7 で、ファイルにリダイレクトして、50分ほどかかりました
Re:C言語で2^57885161-1を計算するには (スコア:1)
この間のストーリー [srad.jp]でいまいち実用性が疑われていた Haskell だけど (いや俺がデバッグ難しいとかいったんだけど ),
Haskell さんだってやればできるところをみせてやろう。Haskell Platform というのをインストールして、
> ghci > prime.txt
Prelude> 2^57885161-1
GHCi は何も指定しないと勝手に多倍長で計算してくれる。
待つこと3~4分で 17MB のテキストファイルができる。インタプリタでもなんとかなるもんだ。
リダイレクトしないと、先頭の桁からどばーっとコンソールに表示されてちょっと楽しい。
GIMP の発表の数字と末尾20文字くらいが一致したから、ちゃんと計算できてると思う。
デバッグしなくていいなら、やはり Haskell は最強だ。
Re:C言語で2^57885161-1を計算するには (スコア:1)
main = writeFile "prime.txt" $ show $ 2^57885161-1
って書いて ghc --make prime.hs みたいにコンパイルすると、自分の環境で 20秒くらいで終わった。
やっぱりコンパイルしたほうが断然早かった
Re:C言語で2^57885161-1を計算するには (スコア:1)
Pythonだと計算は一瞬ですね。
元々、Pythonは多倍長整数をサポートしているので。
n = 2**57885161-1
ただ、これを10進数に変換するのは非常に時間がかかるみたいです。
数分待っても出力できず(^^;)
print(n)
# 下から10桁切り出すと 1724285951 になります。
Re:C言語で2^57885161-1を計算するには (スコア:1)
除算/剰余算は結構早く終わります。なので、
print(n % 10**10)
とすれば下から10桁の切り出しはすぐ求められますね。
# 10000桁分ぐらいだったらあまり時間はかからないので、divmod等で少しずつ10進数化していくほうがトータルでは早いのかも(^^;)
Re: (スコア:0)
Cじゃなくシェルでやれよ
echo 2^57885161-1
って
Re: (スコア:0)
計算?
57,585,161 = (14,396,290 * 4) + 1
なんだから、0xFFFFFF....FFF1 (Fは14,396,290個) と書くだけでは。
Re: (スコア:0)
0x1FFFFFF....FFF (Fは14,396,290個)
だな
Re: (スコア:0)
設問が10進数なので出力も10進数にしてください。
0x1FFFFFF....FFF は単にソースコードを最適化しただけだと思います。
# 数学の大問が全然わからなくて「つまり○○である」と言い換えて部分点だけゲット、みたいな。
Re: (スコア:0)
あれ?これじゃうまく動かない?
> $ ruby -e ' print (2**57885161)-1; '
> -e:1: warning: in a**b, b may be too big
> Infinity
Re: (スコア:0)
簡単そうに見えて、意外と難しいだろ。
Re: (スコア:0)
php の場合
> $ echo ' INF
一言「無限」
Re: (スコア:0)
訂正
> print pow(2,57885161)-1;
結果
> INF
Re: (スコア:0)
もうちょっと条件を具体的に。
・ubuntuやCentOS等で、新たなライブラリをインストールしない。
ただし、C、C++以外のスクリプト系で、止む得ない場合はOK。
・2日以内に計算が終わる。(スクリプト系はこの制限守れなくても仕方ないか)
・マルチスレッド化はOK。
/* レス中のecho系は飽きた */
Re: (スコア:0)
んなもん、プログラム書く必要もないだろ
宇宙の答えも出せるGoogleさんにまかせれば...ほら
だめじゃん