階段の昇り方
確率 へ戻る
大学生のための数学 へ戻る
2020.01.28


 「 n 段ある階段を 1 段ずつ または 1 段飛ばし で昇るとき、 何通りの昇り方があるか? n = 1 〜 15 についてそれぞれ答えなさい。」 いう問題の解答は、 答えを f(n) 通り とすると、 フィボナッチ数列の漸化式 f(n) = f(n−1) + f(n−2) が成立することを利用します 。 では、 この問題に「 連続して 1 段飛ばしをしてはならない 」という条件を加えると、 どうなるでしょう?

  n 段の階段を昇り切る 1 つ前は、 第 (n−1) 段目にいるか 第 (n−2) 段目にいるか の 2つに 1 つです。

n 段の階段を昇り切る 1 つ前に第 (n−1) 段目にいる場合 : n 段の階段を昇り切る 1 つ前に第 (n−2) 段目にいる場合 : したがって、 次の漸化式が成り立ちます。
   f(n) = f(n−1) + f(n−3)

そこで、 JavaScript で次のようなプログラム組んで実行し、 答えを求めます。