「2のn乗の数」の先頭の数字列:無限の恐ろしさ。:その1・話の概要
http://yamada-kuebiko.cocolog-nifty.com/blog/2016/02/post-9163.html
2016年2月 2日 (火)「過去最大の素数」
↑ここで、これまでに発見された最大の素数「2の74207281乗-1」という数(「M74207281」と命名)の話を書きました。桁数は「2233万8618桁」で「3003764180……1086436351」という数です。
ここでは、常用対数を用いて、この巨大な数の「はじまりの部分」を求めてみました。
続いて↓ここでは
http://yamada-kuebiko.cocolog-nifty.com/blog/2016/02/m74207281-1d9c.html
2016年2月 3日 (水)「「M74207281」にまつわる話題」
この素数、「22338618」個もの数字が並んでいたら、その並びの中にはいろいろな「数字列」がありえます。
テキストエディタで M74207281 を開いておいて、文書内の文字列検索をしてみました。
πの3141…という数字の並びは6個並んだ部分がありました。
271828, 141421, 2016 など、素数の「中に」存在する数字列をいくつか あたってみました。
この話は素数でやりましたが、別に素数である必要はなくって、2のn乗の数でできる話です。
「2のn乗ー1」が素数であるかどうかは、本質的じゃないんですね。1を引く前の2のn乗の数でいい。
★そうであるならば逆に「ある数字の並びを指定して、その並びで始まる2のn乗の数」というのを求めることができるのではないか、そんな気がしました。そしてこの話、以前の読書の中にあったはずと探してみたら。
「爽快!2^100三話」根上生也 著、星雲社刊、1996年10月14日 第1版第1刷発行
この本を思い出して、パラパラと再読してみました。
ありましたよ。{20年近くも前の読書ですね。私の記憶もまんざらではない。}
ちょっと途中省略しますが、論理はたどれると思います。
31:何桁の数でも登場する
では、最後の謎解きをしましょう!
何桁の数でも、2を何回も掛けていくと、その先頭に登場する。
この事実を証明します。![]()
このような s+1 桁の数 a が、m+1 桁の数Xの先頭部分に現れているとすると、Xは次のように表せます。ここから次の不等式を得ます。
![]()
この各辺を10^(m-s)で割って、その対数をとると![]()
を得ます。
これを対数の法則を使って整理すると![]()
となります。
この式の意味は
・・・
log(a) の小数部分 ≦ log(X) の小数部分 < log(a+1) の小数部分
ということです。
最後の
log(a) の小数部分 ≦ log(X) の小数部分 < log(a+1) の小数部分{Bold}
これは、巨大な「2のn乗の数」の先頭部分を決定したのと仕組みは同じです。
★この不等式はプログラムになじみやすいように思われます。
・頭に並んでほしい数をaとすれば、不等式の両側はすぐ求まって、途中で一々変更することもない。
・nを1ずつ増やすというループをつくる。
・「log(X) の小数部分」というのは、log(2)を求めておいて(L2)、それにnを掛けては、小数部を取り出せばいい。
そして、その小数部が
もし、「log(a)の小数部以上」かつ(AND)「log(a+1)の小数部未満」という条件を満たしたら
・ループを脱出して
・「求まった!」とXを表示すればいい。
★まずは、ここまで。プログラムの方針はできました。
« フキ | トップページ | 「2のn乗の数」の先頭の数字列:無限の恐ろしさ。:その2・プログラムの「バグ」にぶつかる。 »
「理科おじさん」カテゴリの記事
- 化学の日(2022.10.26)
- 秒速→時速(2022.09.01)
- 風速75メートル(2022.08.31)
- 「ウクライナで生まれた科学者たち」(2022.05.31)
- 反射光(2022.05.09)
« フキ | トップページ | 「2のn乗の数」の先頭の数字列:無限の恐ろしさ。:その2・プログラムの「バグ」にぶつかる。 »
コメント