« フキ | トップページ | 「2のn乗の数」の先頭の数字列:無限の恐ろしさ。:その2・プログラムの「バグ」にぶつかる。 »

2016年2月25日 (木)

「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を何回も掛けていくと、その先頭に登場する。
 この事実を証明します。
F1
このような s+1 桁の数 a が、m+1 桁の数Xの先頭部分に現れているとすると、Xは次のように表せます。
F2

したがって、Xは
F3
から
F4
までの間の数です。

ここから次の不等式を得ます。
F5
この各辺を10^(m-s)で割って、その対数をとると
F6
を得ます。
これを対数の法則を使って整理すると
F7
となります。
この式の意味は
・・・
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・プログラムの「バグ」にぶつかる。 »

理科おじさん」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« フキ | トップページ | 「2のn乗の数」の先頭の数字列:無限の恐ろしさ。:その2・プログラムの「バグ」にぶつかる。 »

2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
サイト内検索
ココログ最強検索 by 暴想
無料ブログはココログ