第7話 ロクリア関数

「ねえねえはかせ!!」

 今日は元気いっぱいに飛び込んできた!

「すごいお賽銭箱考えたよ!!」

 関数への苦手意識は少し消えたのかな。だといいけど・・・。

「問題です!7円入れると2046円拾える御利益があります!

 6円入れるといくら拾えるでしょう!」

 私に突然戦慄が走る。そして、すべてを了解した。が、一応ロクリアちゃんに問う。

「それは・・・すごい!じゃあ1円とか2円とか別の金額のときはどうなるの?」

「へっへー、ナイショ!」

「それじゃわからないよ・・・もう少しヒント・・・」

「じゃあね、1円の時は2円拾えるよ」

「もうちょっとヒント・・・」

「2円のときは4円拾える。少ない金額のときは、大してお金くれないの」

「3円のときは?」

「えーとね・・・ちょっと待ってね」

 ノートを取り出しちらちらめくるロクリアちゃん

「6円だよ!」

「倍のお金しかもらえてないじゃん!なのに、7円入れたとき2046円も貰えるの!?」

「うん!4円入れると22円貰えて、すこし増えた感じするでしょ。もういっぱいヒント出したよ!6円のときはいくらもらえると思う?」

「わからないな・・・1000円くらい貰えちゃう感じ?」

「ぶっぶー382円でしたー!」

 といってノートを見せるロクリアちゃん。

 2...110

 3...102

 4...101

 5...100

 6...55

 12...4,11

 24...3,23

 48...2,47

 96...1,95

 192...191

 383...0

 と書いてある。

「えっと、これどう読むの?」

「あのね、この前n進法でゲームやったでしょ。それでね、6からはじめたら、

 6を2進法で表すと110

 3進法に読み直して1を引くと、110-1=102

 4進法に読み直して1を引くと、102-1=101

 5進法に読み直して1を引くと、101-1=100

 6進法に読み直して1を引くと、100-1=55

 でしょ、あとは5ターン省略してもいいんだけど、面倒だから6ターン省略しちゃった。それで、

 12進法になったとき、十の位が4、一の位が11になるから、「411」って書くとわかんなくなっちゃうから、「,」で区切ったの!見やすいでしょ!」

「すごい!たくさん計算したね!」

「それでね、お賽銭箱にある金額いれると、このゲームのターン数分のお金が帰ってきまーす!」

 ロクリアちゃんは意気揚々としている。でも、突然ちょっと不安そうな顔をした。

「どうしたの?」

「ねえ、これって関数になる?」

「うん、もちろん関数だよ。どんな自然数を入れてもこのゲームは実行できる。そして、必ず0になってくれるから、ターン数も必ず一つの自然数に決まるよね」

「そうなんだけどね・・・なんか8を入れると、ほんとうに0になるのかな・・・って」

 そして、ノートをめくる。そのページは・・・少し尋常ではなかった。

 50331648...1,2,50331647

 100663296...1,1,100663295

 201326592...1,0,201326591 

 402653183...1,0,0

 402653184...402653183,402653183

 805306368...402653182,805306367

 1610612736...402653181,1610612735

 そして、埋め尽くすばかりの筆算、消した跡。そして、モームリ!と最後には書かれていた。

「いや、0になることはなんとなくわかるの。あと4億回くらいくりかえせば、きっと0になるよね。でもそんな大きい数って、数なのかな・・・?って」

「そうだね・・・でもよくここまで計算したね。あと4億回はちょっとむりだから、別の方法を考えよう。たとえば、十の位が1減るごとに、左の数は倍になってるよね。ってことは、402653184を、402653183回、倍にすればいいんじゃないかな?」

「どうやってそんなことするの!?」

「んー、2を5回掛けるときって、どうやって式にするか知ってる?」

「うん、2^5でしょ」

「じゃ、402653184に、402653183回、2を掛けたら?」

「あ!402653184×2^402653183だ!」

「その通り!このときどうなってるかわかる?」

「十の位が0になったから・・・

 402653184×2^402653183...402653184×2^402653183-1

 こうなる・・・と思う」

「そうだね、ということはだよ、左の数に右の数を足したのが答えだよね!」

「うん!

 402653184×2^402653183+402653184×2^402653183-1だ!」

「そうなんだけど、ちょっと整理してあげようか。

 402653184×2^402653183+402653184×2^402653183-1

 =402653184×2^402653183×2-1

 =402653184×2^402653184-1

 ここで、ロクリアちゃんのノートによると402653184=24×2^24だから、

 =(24×2^24)×2^(24×2^24)-1」

 24も、3×2^3を使って少し整理するよ

 =(3×2^26)×2^(3×2^26)-1

 さらに指数法則でまとめよう

 =3×2^(3×2^26+3×2^26)-1

 さて、分配法則と指数法則で一気にまとめると、

 =3×2^(3×2^27)-1

 こうだ!これが0になったときの進法だから、ターン数は

 3×2^(3×2^27)-2

 になるね!」

「あれ?わかりやすくなったけど、なんだか迫力がなくなっちゃった」

「いやいや、そうでもないよ。3×2^(3×2^27)って、実はバカでかい数だよ。

 3×2^27=402653184なんだけど、ってことは、

 2×2×2×・・・って4億回以上も続けるってことだよ。だいたい1億2千万桁くらいの数だ!」

「1億2千万桁!」

「1億2千万桁ってどれくらいすごいかっていうと、1文字1Byteだと仮定すると、120MBの容量がすべて数字で埋まるような大きい数だ。一応想像できる範囲かもしれないけど、とてつもない大きい数だよね!」

「すごい!こんなお金もらえたら、この国がお金で埋まっちゃうね!」

「お賽銭箱の話に戻るよ。1を入れたら3が帰ってきた。2を入れたら4が帰ってきた・・・、まとめると、

 1→2

 2→4

 3→6

 4→22

 5→62

 6→382

 7→2046

 8→3×2^(3×2^27)-2

 ってなるね!これは立派な関数だ!ロクリア関数って名前を付けよう!」

「ロクリア関数!わたし、ちょっと関数とお友達になれたかな!?」


 定理4.

 定理1.の初期数値をxとして、0に到達したときの世代数をf(x)とする。

 このとき関数y=f(x)をロクリア関数と呼ぶ。

 このロクリア関数において、

 f(8)=3×2^(3×2^27)-2


 注)これは弱いグッドスタイン数列の項数に一致する。初項を数えない、もしくは第0項とする流儀では、

 f(8)=3×2^(3×2^27)-3

 となるが、今後の拡張に備えて、今回のように定義した。

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る