有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第n个月的兔子总数为多少?
谢谢!
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第n个月的兔子总数为多少?
谢谢!
第一个月有1对. 第二个月有1对. 第三个月有2对.第四个月3对.第五个月有5对... 这就是一个斐波那契数列.
用递归方法:
#include <iostream>
using namespace std;
int fib(int n)
{
if(n==1||n==2)
return 1;
return fib(n-1)+fib(n-2);
}
int main()
{
int n;
cin>>n;
cout<<fib(n);
return 0;
}
不用递归的方法:
#include <iostream>
using namespace std;
int main()
{
int x=1,y=1,n;
cin>>n;
for(int i=1; i<n; ++i)
{
y=x+y;
x=y-x;
}
cout<<x<<endl;
return 0;
}