• 締切済み

[興味本意]eの値中の、最初の連続する10桁の素数

まずはこちらをご覧ください http://japan.cnet.com/news/media/story/0,2000047715,20069765,00.htm で、本題。 「eの値中の、最初の連続する10桁の素数」はどうやって求めるのでしょう!? たしかに 「eの値をどんどん求め,10桁を取って 素数かどうか確かめる」ようなプログラムを作れば可能かもしれないけれど もっとエレガントな解き方があるんだろうなと思って。。。。。 どーやって求めるんでしょう?

みんなの回答

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.3

No.2です。 多倍長関数でeを適当な桁求めて探してみたら 小数点以下第99位からの10桁が 7427466391 で素数でした。

himajin2005_RC4
質問者

補足

しばらくちょっと気力が湧かず、 返答が遅れてしまいました(言い訳) 全回答への返事をまとめさせていただきます ひょっとしたらある桁をpとおくと、次の桁は・・・ 計算できるんじゃないか、という意図で質問しました。 やはり「コンピュータを使う」ことは必須のようですね。 だめかぁー(涙) さて、最近、ネットサーフィン(死語)をしていたら 以下のページを見つけることができました http://ftvjapan.ddo.jp/~funa/mt/archives/cat_hack.html 私の書き方が悪いこともあるのですが 以上のような意図の下で出された質問ゆえ ポイントに関しては全員なしとさせていただきます ごめんなさい。

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.2

エレガントには程遠いかもしれませんが・・・ 10桁を切り出した際、  ・先頭が0では無い。  ・末尾は1,3,7,9のいずれか。 の時だけ素数判定する。 とか 10桁の素数をあらかじめ全て求めておいてマッチングする。 とか・・・。

  • 12m24
  • ベストアンサー率23% (193/817)
回答No.1

 とりあえず、高速・単純な素数検索法としては、 1.奇数のみ調べる。偶数は2の倍数になるので無視。 2.素数が見つかる(1と自身の数以外に素数がないこと)時には、その数字を記録していく。 3.自身の数の平方根より小さな素数について、余りがないか確認する。  という具合になります。これで10000までの素数を調べるときも、一瞬で終わります。(桁が違うので比べていいものかわかりませんが)

関連するQ&A