[C++]36861-毎月ウサギの総数を統計する

2954 ワード

目次
  • 例題説明
  • 解題構想
  • コード実装
  • 例題の説明
    1匹のウサギがいて、生後の第3ヶ月から毎月すべて1匹のウサギを生んで、小さいウサギは第3ヶ月まで成長した後に毎月また1匹のウサギを生んで、もしウサギはすべて死なないならば、毎月のウサギの総数を聞いていくらですか?
  • 入力説明:入力int型はmonth
  • を表す.
  • 出力説明:出力ウサギ総数int
  • 例1:
  • 入力9
  • 出力34
  • 問題を解く構想.
    nヶ月のウサギの数は2つの部分から構成され、一部は先月のウサギf(n-1)で、もう1つは3ヶ月の大きなウサギを満たし、1匹のウサギf(n- 2)を産む.だからnヶ月目のウサギの総数:f(n) = f(n - 1) + f(n - 2).本題は変相考察フィボナッチ数列である.
    コード実装
    #include <iostream>
    using namespace std;
    int fib(const int n){
         
        if(n < 3){
         
            return 1;
        }
        return fib(n-1) + fib(n-2);
    }
    int main(){
         
        int n;
        while(cin >> n){
         
            cout << fib(n) << endl;
        }
        return 0;
    }
    

    リンク:https://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395?tpId=37&&tqId=21260&rp=1&ru