以下是遇到的面试题:
已知一对兔子,隔一个月可以生一对兔子。至于近亲,死亡都不用考虑。也就是第1月1对,第2月1对,第3月2对,第4月3对,第5月5对。。。。依次类推,问第n月多少对兔子?
解析:这是斐波纳契数列,f(n)=f(n-1)+f(n-2), n>2
c语言实现:
int fun(int n)
{
if(n<1)
{
return -1;
}
else if(1==n || 2==n)
{
return 1;
}
else
{
return fun(n-1) + fun(n-2);
}
}
void main()
{
int n = 0;
printf("please input n:");
scanf("%d",&n);
int num = fun(n);
printf("%d \n",num);
}