第一时间拿到题目感觉一脸懵,后来拿笔在草稿本上画了画,第一个月只有一只,第二个月有1只,第三个月有2只,第四个月有3只,第五个月有五只,嗯~~~,有斐波那契数列那味了~~
后来想了想,确实是斐波那契数列,f(n-1)是已有的兔子数量,而f(n-2)是新增加的兔子的数量。
#include<iostream>
using namespace std;
int count(int month)
{
if (month == 1 || month == 2)
{
return 1;
}
return count(month - 1) + count(month - 2);
}
int main()
{
int month;
while (cin >> month)
{
cout << count(month)<<endl;
}
}