题目描述
1202年,意大利数学家斐波那契(Fibonacci)出版了他的《计算之书》,在书中提到了一个关于兔子繁殖的问题:如果一对兔子,过一个月之后长成大兔子,到第三个月就可以生下一对兔子并且以后每个月都生下一对兔子,而所生的一对小兔子也同样到一个月之后长成大兔子,到第三个月就可以生下一对小兔并且以后每个月都会生一对。假如兔子都不死,问第n个月的时候兔子的总对数为多少?
输入要求
输入一个整数n( 0 < n < =50)
输出要求
输出第n个月兔子的对数
输入样例
6
输出样例
8
提示
数据量会超出int范围,建议用double或长整型
#include<stdio.h>
#include<math.h>
int main()
{
double n,temp,a = 1, b = 1;//temp为暂时交换媒介 。
int i ;
scanf("%lf",&n);
if (n > 2)
{
for (i = 3; i <= n; i++)
{
temp = a + b; //交换数值。
a = b;
b = temp;
//此处可以为temp,也可以为b。
}
printf("%.0f\n",temp);
}
else
{
printf("%.0f\n",b);
}
return b;
}