有一对兔子,出生后第三个月起每个月都生一对小兔子,小兔子长到第三个月后每个月又生一对小兔子,假设所以的兔子都不死,求40个月后兔子的总数?
每个月的兔子总数为1,1,2,3,5,8,13...,符合斐波那契数列
从第三个月开始,该数为前两数之和
解题思路:设前两个月的兔子对数为F1,F2,所以F1=1,F2=1,利用循环同时改变F1,F2的值,所以只需要循环20次就能求出40个月后的兔子对数
#include <stdio.h>
void main()
{
// system("mode con cp select=65001");
long int f1,f2;
f1=1;
f2=1;
int i;
for(i=1;i<=20;i++){
printf("%12ld %12ld",f1,f2);
if(i%2==0){
printf("\n");
}
f1=f1+f2;
f2=f2+f1;
}
return 0;
}