题解 | #统计每个月兔子的总数#
统计每个月兔子的总数
http://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395
解题思路
斐波那契数列
1 :1
2: 1
3: 2
4: 3
5: 5
6: 8
7: 13
8:21
即第n个月等于前两个月之和
故采用递归的方法。f(n) = f(n-1) + f(n-2)
代码
#include <iostream>
using namespace std;
int tuzi(int p)
{
if(p <= 2)
return 1;
else
return tuzi(p-1) + tuzi(p-2);
}
int main() {
int month;
while(cin >> month)
{
cout << tuzi(month)<< endl;
}
}