学习目标:
兔子生崽问题。学习内容:
兔子生崽问题。假设一对小兔的成熟期是一个月,即一个月可长成成兔,那么如果每对成兔每个月都可以生一对小兔,一对新生的小兔从第二个月起就开始生兔子, 试问从一对兔子开始繁殖,一年以后可有多少对兔子?请编程求解该问题。 **输出格式要求:"\nTotal = %d\n" "%4d" 程序运行示例如下: 1 2 3 5 8 13 ** 34 55 ** *** *** Total = *** (此程序只有一个测试用例,为避免泄漏答案,具体数值用*代替)易知应该使用菲波那切数列
因为小兔子比大兔子晚一个月
所以每个月的兔子数为上个月加上上个月
为菲波那切数列:1 1 2 3 5 8 13 21 ··········
程序示例如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a=1,b=1,Total,i,c;
printf(" 1");
for(i=1;i<12;i++)
{
c = a+b;//本月(用c表示)为上上个月(a)和上个月(b)的和。
a = b;
b = c;//更新数据使a,b永远为上个月的兔子数和上上个月的兔子数。
printf("%4d",b);
}
printf("\nTotal = %d\n",b);
}
其他解法友情链接:
https://blog.csdn.net/yang8627/article/details/83027866