从题目中提取到的信息:不满 1 个月的兔子为小兔子,满 1 个月不满 2 个月的为中兔子,满3个月以上的为老兔子。
可以看出,每个月的兔子总数依次为 1,1,2,3,5,8,13……
入手方向:即从前两个月的兔子数可以推出第 3 个月的兔子数。
程序:
#include <stdio.h>
int main()
{
long fib1 = 1;
long fib2 = 1;
long fib = 0;
int i = 0;
printf("%12d%12d", fib1, fib2);
for (i = 3; i <= 30; i++)
{
fib = fib1 + fib2;
printf("%12d", fib);
if (i % 4 == 0)
{
printf("\n");
}
fib2 = fib1;
fib1 = fib;
}
printf("\n");
return 0;
}