神奇的兔子

时间: 1ms        内存:128M

描述:

假定一对大兔子每月能生一对小兔子,且每对新生的小兔子经过一个月可以长成一对大兔子,具备繁殖能力,如果不发生死亡,且每次均生下一雌一雄,问n个月后共有多少对兔子?如果我们计算出每月兔子的对数,会发现其实兔子的对数呈斐波那契数列型增长,如第一个月有1对,第二个月有1对,第三个月2对,第四个月有3对。请你通过函数Fibonacci()求出n个月后的兔子的对数。 (更多详细信息请看提示
#include<stdio.h>
 /*******************************
     请在该部分补充缺少的函数 
     ********************************/
int main()
{
int n;
scanf(“%d”,&n);
printf(“%d”,Fibonacci(n));
return 0;



输入:

一个数,n。代表月数。

输出:

一个数。代表兔子对数。

示例输入:

5

示例输出:

5

提示:

参考答案(内存最优[1120]):

#include<stdio.h>
 /*******************************
     请在该部分补充缺少的函数 
     ********************************/
int Fibonacci(int n){
	int f1=1;
	int f2=1;
	int i;
    int ans=0;
	if(n==1||n==2){
		return 1;
	}
	for(i=3;i<=n;++i){
		ans=f1+f2;
		f2=f1;
		f1=ans;
	}
	return ans;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",Fibonacci(n));
return 0;	
} 

参考答案(时间最优[1]):

#include<stdio.h>
 /*******************************
     请在该部分补充缺少的函数 
     ********************************/
int Fibonacci(int n){
	int f1=1;
	int f2=1;
	int i;
    int ans=0;
	if(n==1||n==2){
		return 1;
	}
	for(i=3;i<=n;++i){
		ans=f1+f2;
		f2=f1;
		f1=ans;
	}
	return ans;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",Fibonacci(n));
return 0;	
} 

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。