问题描述:
已知有一对兔子,每个月可以生一对兔子,而小兔子一个月后又可以生一对小兔子(比如:2月份出生的小兔子4月份可以生育)。也就是说,兔子的对数为:第一个月1对,第二个月2对,第三个月3对,第四个月5对.....假设兔子的生育期为两年,且不死。那么问题来了,你能说出每个月的兔子数么?
输入格式:
输入一个数n,表示第n个月,1<=n<=24。
输出格式:
输出这个月兔子的数目。
输入样例:
4
输出样例:
5
#include<stdio.h>
int main() {
int i, n;
int preNum, curNum, temp;
scanf("%d", &n);
preNum = curNum = 1;
for(i = 2; i <= n; i++) {
temp = curNum; //暂存curNum
curNum = curNum + preNum; //计算新的一月兔子数量
preNum = temp; //更新上一个月兔子数量
}
printf("%d\n", curNum);
return 0;
}