この記事では、私がTwitterで公開した次の 問題 の解答を解説します。
この問題の背景には「小数第 $n$ 位の数字を返す関数」と「フィボナッチ数が現れる分数」があります。
さらに、応用編として、外側の床関数を外した時に現れるフィボナッチ数の漸化式に似た不思議な関係を紹介します。
${\displaystyle \left\lfloor \left( \sum_{k=0}^{\infty} \frac{F_{3141592653+k}}{10^k} \right) -10 \left\lfloor \sum_{k=0}^{\infty} \frac{F_{3141592653+k}}{10^{k+1}} \right\rfloor \right\rfloor =? }$
まず、次のような$2$変数関数を考えます。
${\displaystyle f(a,n) =\left\lfloor 10^n a -10 \left\lfloor 10^{n-1}a \right\rfloor \right\rfloor }$
この関数は、ある実数 $a$ を小数表示したときの小数第 $n$ 位の数字を返します。
例えばこんな感じになります。
${\displaystyle f(\pi,0)=3 }$
${\displaystyle f(\pi,1)=1 }$
${\displaystyle f(\pi,2)=4 }$
${\displaystyle f(\pi,3)=1 }$
${\displaystyle f(\pi,4)=5 }$
${\displaystyle f(\pi,5)=9 }$
$\dfrac{10}{89}$ を小数表示すると、フィボナッチ数を$1$桁ずつずらして足したものになることが知られています。こんな感じです。
$\begin{align} \dfrac{10}{89}&=0.1123595505\cdots\\ &=0.1\\&+0.01\\&+0.002\\&+0.0003\\&+0.00005\\&+0.000008\\&+0.0000013\\&+0.00000021\\&+0.000000034\\&+0.0000000055\\&+0.00000000089\\&+\cdots \end{align}$
なぜこのようになるのかは、次のように説明できます。
$\begin{align} S&=0.1+0.01+0.002+0.0003+0.00005+0.000008+\cdots\\ \end{align}$
とすると、
$\begin{align} 100S&=&10&+&1&+&&0.2+0.03+0.005+0.0008+0.00013+0.000021+\cdots\\ 10S&=&&&1&+&&0.1+0.02+0.003+0.0005+0.00008+0.000013+\cdots\\ S&=&&&&&&0.1+0.01+0.002+0.0003+0.00005+0.000008+\cdots\\ \end{align}$
辺々引いて
$\begin{align} 100S-10S-S&=10+0+0+0+0+0+0+0+\cdots\\ &=10\\ \\ 89S&=10\\ \\ \therefore S&=\dfrac{10}{89} \end{align}$
それでは、先ほどの「小数第 $n$ 位の数字を返す関数」$f(a,n)$にこの分数$\dfrac{10}{89}$ を入れてみるとどうなるかみてみましょう。
${\displaystyle f\left(\dfrac{10}{89},0\right)=0 }$
${\displaystyle f\left(\dfrac{10}{89},1\right)=1 }$
${\displaystyle f\left(\dfrac{10}{89},2\right)=1 }$
${\displaystyle f\left(\dfrac{10}{89},3\right)=2 }$
${\displaystyle f\left(\dfrac{10}{89},4\right)=3 }$
${\displaystyle f\left(\dfrac{10}{89},5\right)=5 }$
${\displaystyle f\left(\dfrac{10}{89},6\right)=9 }$
確かに小数第 $n$ 位の数字が返ってきていますね。
ところで、$\dfrac{10}{89}$ は有理数ですから、小数にすると循環小数になるはずです。その循環節の長さはどれくらいでしょうか。
実際に計算してみると
$\dfrac{10}{89}=0.1123595505617977528089887640449438202247191011235955\cdots$
となり、どうやら循環節は $44$ になりそうとわかります。
WolframAlphaなどで確かめると、
$10^{44}\equiv1\mod89$
ですから、確かに循環節の長さは $44$ であることが確認できました。
余談ですが、「素数 $p$ の逆数の循環節の長さは、$p − 1$ の約数である(ただし$2,5$の逆数については循環節の長さを$1$とする)」ことが知られています[1]。
$89$ は素数で、 $44$ は確かに $89-1=88$ の約数になっていますね。
循環節の長さが $44$ とわかりましたので、次のように $f\left(\dfrac{10}{89},n\right)$ は周期を持つことがわかります。
$f\left(\dfrac{10}{89},n+44\right)=f\left(\dfrac{10}{89},n\right)$
ここまでくれば問題の答えはすぐそこです。
じつは、この問題の式は次のように変形できます。
${\displaystyle \left\lfloor \left( \sum_{k=0}^{\infty} \frac{F_{3141592653+k}}{10^k} \right) -10 \left\lfloor \sum_{k=0}^{\infty} \frac{F_{3141592653+k}}{10^{k+1}} \right\rfloor \right\rfloor =f\left(\dfrac{10}{89},3141592653\right) }$
そのことを確認しておきましょう。
「フィボナッチ数が現れる分数」のところでみたように、
$\begin{align} \dfrac{10}{89}&=\sum_{k=1}^{\infty}\dfrac{F_k}{10^k} \end{align}$
ですから、これを使って $f\left(\dfrac{10}{89},n\right)$ を変形すると
$\begin{align} f\left(\dfrac{10}{89},n\right)&=f\left(\sum_{k=1}^{\infty}\dfrac{F_k}{10^k},n\right)\\ \end{align}$
となります。
ところで、総和のうち $k< n$ の部分は小数第$n$位の数字に影響を与えませんから、
$\begin{align} f\left(\dfrac{10}{89},n\right)&=f\left(\sum_{k=1}^{\infty}\dfrac{F_k}{10^k},n\right)\\ &=f\left(\sum_{k=n}^{\infty}\dfrac{F_k}{10^k},n\right)\\ \end{align}$
となります。
更に変形していけば
$\begin{align} f\left(\dfrac{10}{89},n\right) &=f\left(\sum_{k=n}^{\infty}\dfrac{F_k}{10^k},n\right)\\ &=\left\lfloor \left( 10^n \sum_{k=n}^{\infty}\dfrac{F_k}{10^k} \right) -10 \left\lfloor 10^{n-1} \sum_{k=n}^{\infty}\dfrac{F_k}{10^k} \right\rfloor \right\rfloor\\ &=\left\lfloor \left( \sum_{k=0}^{\infty}\dfrac{F_{n+k}}{10^k} \right) -10 \left\lfloor \sum_{k=0}^{\infty}\dfrac{F_{n+k}}{10^{k+1}} \right\rfloor \right\rfloor \end{align}$
この式に $n=3141592653$ を代入すれば、
$\begin{align} f\left(\dfrac{10}{89},3141592653\right) &=\left\lfloor \left( \sum_{k=0}^{\infty}\dfrac{F_{3141592653+k}}{10^k} \right) -10 \left\lfloor \sum_{k=0}^{\infty}\dfrac{F_{3141592653+k}}{10^{k+1}} \right\rfloor \right\rfloor \end{align}$
となり、確かに等式が成り立つことが確認できました。
ここで、$\dfrac{10}{89}$ の循環節の長さは $44$で、$3141592653=71399833\times44 + 1$ なので、
$\begin{align} f\left(\dfrac{10}{89},3141592653\right) &=f\left(\dfrac{10}{89},1\right)\\ &=1 \end{align}$
となり、
$\begin{align} \left\lfloor \left( \sum_{k=0}^{\infty}\dfrac{F_{3141592653+k}}{10^k} \right) -10 \left\lfloor \sum_{k=0}^{\infty}\dfrac{F_{3141592653+k}}{10^{k+1}} \right\rfloor \right\rfloor &=1 \end{align}$
と、無事に問題の答えを導出できました!
初見はよくわからない式に見えたと思いますが、実は $\dfrac{10}{89}$ の小数第$1$ 位の数を調べるだけで答えがわかる仕組みだったのでした。
そして、引数として $3141592653$ を選択した理由も、 $44$ で割ると$1$余る数字だと簡単に答えがわかるからでした。円周率に出てくる数字をもとに $314,3141,31415,\cdots$と桁数を増やしていったところ、$44$ で割ると$1$ 余る数字で最小のものが $3141592653$ だったので、この数字を選んでこの問題をつくったというわけでした。
実はこの式、外側の床関数を外すこともできます。
その場合の値は次のようになります。
$\begin{align}
g(n):=
\left(
\sum_{k=0}^{\infty}\dfrac{F_{n+k}}{10^k}
\right)
-10
\left\lfloor
\sum_{k=0}^{\infty}\dfrac{F_{n+k}}{10^{k+1}}
\right\rfloor
\end{align}$
と定義すると、
$$
\begin{eqnarray}
\left\{
\begin{array}{l}
g(1)=\frac{100}{89} \\
g(2)=\frac{110}{89} \\
g(3)=\frac{210}{89} \\
g(4)=\frac{320}{89} \\
g(5)=\frac{530}{89} \\
g(6)=\frac{850}{89} \\
g(7)=\frac{490}{89} \\
g(8)=\frac{450}{89} \\
g(9)=\frac{50}{89} \\
g(10)=\frac{500}{89} \\
g(11)=\frac{550}{89} \\
g(12)=\frac{160}{89} \\
g(13)=\frac{710}{89} \\
g(14)=\frac{870}{89} \\
g(15)=\frac{690}{89} \\
g(16)=\frac{670}{89} \\
g(17)=\frac{470}{89} \\
g(18)=\frac{250}{89} \\
g(19)=\frac{720}{89} \\
g(20)=\frac{80}{89} \\
g(21)=\frac{800}{89} \\
g(22)=\frac{880}{89} \\
g(23)=\frac{790}{89} \\
g(24)=\frac{780}{89} \\
g(25)=\frac{680}{89} \\
g(26)=\frac{570}{89} \\
g(27)=\frac{360}{89} \\
g(28)=\frac{40}{89} \\
g(29)=\frac{400}{89} \\
g(30)=\frac{440}{89} \\
g(31)=\frac{840}{89} \\
g(32)=\frac{390}{89} \\
g(33)=\frac{340}{89} \\
g(34)=\frac{730}{89} \\
g(35)=\frac{180}{89} \\
g(36)=\frac{20}{89} \\
g(37)=\frac{200}{89} \\
g(38)=\frac{220}{89} \\
g(39)=\frac{420}{89} \\
g(40)=\frac{640}{89} \\
g(41)=\frac{170}{89} \\
g(42)=\frac{810}{89} \\
g(43)=\frac{90}{89} \\
g(44)=\frac{10}{89} \\
g(44+n)=g(n)\qquad(n=1,2,3,\cdots)\\
\end{array}
\right.
\end{eqnarray}
$$
周期が $44$ もあるので長くなってしまいました。
どうやって外側の床関数を外したかはこの記事では省略しますので考えてみてください(といってもそんなに難しくはないです)。
ところで、上記の表をよく見ると、分子の部分に、まるでフィボナッチ数の漸化式のような規則性があることに気が付きました。
ある項の分子は前2項の分子の和($890$ を超える場合は $890$ を引いた和)となっています。
$ 100,110,\underbrace{210}_{=100+110},\underbrace{320}_{=110+210},\underbrace{530}_{=210+320},\underbrace{850}_{=320+530},\underbrace{490}_{=530+850-890} $
なぜこのようになるのかなど、気が付いたことなどあればコメント等いただければと思います。
応用編の部分は、ゆうの右腕さんの ツイート をみて思いつきました。ありがとうございました。
今回、フィボナッチ数を $10$ の累乗で割ったものの無限和の小数の周期が $44$ であることを利用して問題を作ってみました。フィボナッチ数はどんどん大きくなっていくのに、小数表示に周期があるのって不思議な感じがしませんか?