算チャレでもおなじみのフィボナッチ数列に関する問題です。
フィボナッチ数列は、前の項と前々の項の和がその項になる数列です。(表現が変かも....(^^;;)例えば、
1、2、3、5、8、13、21、34、55、・・・
となるような数列です。で、上記の数列はそのままこの問題の「ロボットの数」の数列なんですね。では、何故このような数列になるのかを考えてみることにします。
この問題では、作られたばかりのロボットは働くことはできませんね。この子どもロボットを○とします。1時間経過したロボットは働く(生産する)ことができます。この大人ロボットを◎とします。で、時間後との様子を以下の表に表してみます。
時間 | ロボット |
0時間後 | ○ |
1時間後 | ◎ |
2時間後 | ◎○ |
3時間後 | ◎◎○ |
4時間後 | ◎◎◎○○ |
5時間後 | ◎◎◎◎◎○○○ |
6時間後 | ◎◎◎◎◎◎◎◎○○○○○ |
上の図から言えることは、「新しく作られるロボット(○)の数は、1時間前の◎の数」であるということですね。もう少し観察すると、「新しく作られるロボットの数は、2時間前のロボット(○も◎も)の数」ということが分かります。これは考えてみれば当たり前のことですね。というのは、2時間前に存在したロボットはその1時間後、つまり1時間前にはすべて◎になっています。◎はロボットを生産できますから、その数だけ新しく作られることが分かりますね。
例えば5時間後、ロボットは全部で8台です。このとき新しく作られたロボット(○)は3台です。この数は2時間前のロボットの台数と一致しますね。
ということは、ロボットは1時間前に比べて「2時間前にあったロボットの数」だけ増えることになります。ということは、1時間前の数と2時間前の数の和がその時のロボットの数になっているわけで、これはフィボナッチ数列の性質と一致しますね。
さあこれで、ロボットの数がフィボナッチ数列の性質を持っていることが分かりました。あとは「3の倍数」がどの頻度で表れるかを調べるだけです。
実は、結論から言うと3の倍数は4回に1回現れます。これは少し調べてみれば分かります。(小学生はこの方法ですね、普通。私はちゃんと教えちゃいますが...(^^;;)
さて3の倍数が4回に1回現れる理由を考えてみましょう。これは3で割った余りを考えると分かりやすいはずです。
時間 | ロボットの数 | つまり.... |
0時間後 | 0 | 3の倍数(0ですが...)+1
|
1時間後 | 1 | 3の倍数+1 |
2時間後 | 2 | 3の倍数+2 |
3時間後 | 3 | 3の倍数+0 |
4時間後 | 5 | 3の倍数+2 |
5時間後 | 8 | 3の倍数+2 |
6時間後 | 13 | 3の倍数+1 |
7時間後 | 21 | 3の倍数+0 |
8時間後 | 34 | 3の倍数+1 |
9時間後 | 55 | 3の倍数+1 |
うむむ、お分かり頂けるでしょうか...。例えば7時間後が割りきれる理由は、5時間後が3の倍数+2、6時間後が3の倍数+1だからなんです。つまり、余りを2つたしたら3になる、ということです。6時間後のように余りが2+2=4になるときは、3が一つできて1だけあまることになります。となると、上記の表を見ればお分かりかと思いますが、実は「4時間に1回」じゃなくて「8時間に2回」なんですね。0時間後〜7時間後が一周期になっていてその後は同じことの繰り返しになります。
となると、1時間後〜500時間後までだと、
500÷4=125(回)
となることが分かりますね。(厳密には、上記の式では0時間後〜499時間後に125回あることを求めています。で、500時間後は3で割りきれませんから、実際にはそのまま125回が答えになるんですね。)
答え:125回
HOME