5
高校数学解説
文献あり

フィボナッチ数を含む無限級数の小数表示から周期的な数列が現れる

341
1

はじめに

この記事では、私がTwitterで公開した次の 問題 の解答を解説します。

この問題の背景には「小数第 n 位の数字を返す関数」と「フィボナッチ数が現れる分数」があります。

さらに、応用編として、外側の床関数を外した時に現れるフィボナッチ数の漸化式に似た不思議な関係を紹介します。

問題

(k=0F3141592653+k10k)10k=0F3141592653+k10k+1=?

小数第 n 位の数字を返す関数

まず、次のような2変数関数を考えます。

f(a,n)=10na1010n1a

この関数は、ある実数 a を小数表示したときの小数第 n 位の数字を返します。
例えばこんな感じになります。

f(π,0)=3

f(π,1)=1

f(π,2)=4

f(π,3)=1

f(π,4)=5

f(π,5)=9

フィボナッチ数が現れる分数

1089 を小数表示すると、フィボナッチ数を1桁ずつずらして足したものになることが知られています。こんな感じです。

1089=0.1123595505=0.1+0.01+0.002+0.0003+0.00005+0.000008+0.0000013+0.00000021+0.000000034+0.0000000055+0.00000000089+

なぜこのようになるのかは、次のように説明できます。

S=0.1+0.01+0.002+0.0003+0.00005+0.000008+

とすると、

100S=10+1+0.2+0.03+0.005+0.0008+0.00013+0.000021+10S=1+0.1+0.02+0.003+0.0005+0.00008+0.000013+S=0.1+0.01+0.002+0.0003+0.00005+0.000008+

辺々引いて

100S10SS=10+0+0+0+0+0+0+0+=1089S=10S=1089

組み合わせる

それでは、先ほどの「小数第 n 位の数字を返す関数」f(a,n)にこの分数1089 を入れてみるとどうなるかみてみましょう。

f(1089,0)=0

f(1089,1)=1

f(1089,2)=1

f(1089,3)=2

f(1089,4)=3

f(1089,5)=5

f(1089,6)=9

確かに小数第 n 位の数字が返ってきていますね。

循環節の長さを調べる

ところで、1089 は有理数ですから、小数にすると循環小数になるはずです。その循環節の長さはどれくらいでしょうか。
実際に計算してみると

1089=0.1123595505617977528089887640449438202247191011235955

となり、どうやら循環節は 44 になりそうとわかります。
WolframAlphaなどで確かめると、

10441mod89

ですから、確かに循環節の長さは 44 であることが確認できました。

余談ですが、「素数 p の逆数の循環節の長さは、p1 の約数である(ただし2,5の逆数については循環節の長さを1とする)」ことが知られています[1]。

89 は素数で、 44 は確かに 891=88 の約数になっていますね。

周期性を考える

循環節の長さが 44 とわかりましたので、次のように f(1089,n) は周期を持つことがわかります。

f(1089,n+44)=f(1089,n)

問題の答え

ここまでくれば問題の答えはすぐそこです。

じつは、この問題の式は次のように変形できます。

(k=0F3141592653+k10k)10k=0F3141592653+k10k+1=f(1089,3141592653)

そのことを確認しておきましょう。

「フィボナッチ数が現れる分数」のところでみたように、

1089=k=1Fk10k

ですから、これを使って f(1089,n) を変形すると

f(1089,n)=f(k=1Fk10k,n)

となります。

ところで、総和のうち k<n の部分は小数第n位の数字に影響を与えませんから、

f(1089,n)=f(k=1Fk10k,n)=f(k=nFk10k,n)

となります。

更に変形していけば

f(1089,n)=f(k=nFk10k,n)=(10nk=nFk10k)1010n1k=nFk10k=(k=0Fn+k10k)10k=0Fn+k10k+1

この式に n=3141592653 を代入すれば、

f(1089,3141592653)=(k=0F3141592653+k10k)10k=0F3141592653+k10k+1

となり、確かに等式が成り立つことが確認できました。

ここで、1089 の循環節の長さは 44で、3141592653=71399833×44+1 なので、

f(1089,3141592653)=f(1089,1)=1

となり、

(k=0F3141592653+k10k)10k=0F3141592653+k10k+1=1

と、無事に問題の答えを導出できました!

初見はよくわからない式に見えたと思いますが、実は 1089 の小数第1 位の数を調べるだけで答えがわかる仕組みだったのでした。

3141592653 を選んだわけ

そして、引数として 3141592653 を選択した理由も、 44 で割ると1余る数字だと簡単に答えがわかるからでした。円周率に出てくる数字をもとに 314,3141,31415,と桁数を増やしていったところ、44 で割ると1 余る数字で最小のものが 3141592653 だったので、この数字を選んでこの問題をつくったというわけでした。

応用編 外側の床関数を外す

実はこの式、外側の床関数を外すこともできます。
その場合の値は次のようになります。

g(n):=(k=0Fn+k10k)10k=0Fn+k10k+1
と定義すると、
{g(1)=10089g(2)=11089g(3)=21089g(4)=32089g(5)=53089g(6)=85089g(7)=49089g(8)=45089g(9)=5089g(10)=50089g(11)=55089g(12)=16089g(13)=71089g(14)=87089g(15)=69089g(16)=67089g(17)=47089g(18)=25089g(19)=72089g(20)=8089g(21)=80089g(22)=88089g(23)=79089g(24)=78089g(25)=68089g(26)=57089g(27)=36089g(28)=4089g(29)=40089g(30)=44089g(31)=84089g(32)=39089g(33)=34089g(34)=73089g(35)=18089g(36)=2089g(37)=20089g(38)=22089g(39)=42089g(40)=64089g(41)=17089g(42)=81089g(43)=9089g(44)=1089g(44+n)=g(n)(n=1,2,3,)

周期が 44 もあるので長くなってしまいました。
どうやって外側の床関数を外したかはこの記事では省略しますので考えてみてください(といってもそんなに難しくはないです)。

ところで、上記の表をよく見ると、分子の部分に、まるでフィボナッチ数の漸化式のような規則性があることに気が付きました。
ある項の分子は前2項の分子の和(890 を超える場合は 890 を引いた和)となっています。

100,110,210=100+110,320=110+210,530=210+320,850=320+530,490=530+850890

なぜこのようになるのかなど、気が付いたことなどあればコメント等いただければと思います。

おわりに

応用編の部分は、ゆうの右腕さんの ツイート をみて思いつきました。ありがとうございました。

今回、フィボナッチ数を 10 の累乗で割ったものの無限和の小数の周期が 44 であることを利用して問題を作ってみました。フィボナッチ数はどんどん大きくなっていくのに、小数表示に周期があるのって不思議な感じがしませんか?

参考文献

投稿日:2021518
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

apu_yokai
apu_yokai
488
66786

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. はじめに
  2. 問題
  3. 小数第 n 位の数字を返す関数
  4. フィボナッチ数が現れる分数
  5. 組み合わせる
  6. 循環節の長さを調べる
  7. 周期性を考える
  8. 問題の答え
  9. 3141592653 を選んだわけ
  10. 応用編 外側の床関数を外す
  11. おわりに
  12. 参考文献