您的位置:首页 > 其它

兔子产子问题

2016-12-22 09:48 316 查看
有一对兔子,从出生后的第三个月起每个月生一对兔子,小兔子长到第三个月后再生一对兔子,假设所有兔子不死,30个月内每个月兔子总数为:



分析可知为Fibonacci数列,即后一个月的兔子数为前两个月的和

优化前程序:

void main()
{
long f1=1,f2=1,f;
int i;
printf("%12ld%12ld",f1,f2);
for(i=3;i<=30;i++)//每次输出一个,循环到30
{
f=f1+f2;
printf("%12ld",f);
f2=f1;
f1=f;
}
}

优化后程序:

void main()
{
long f1=1,f2=1;
int i;
for(i=1;i<=15;i++)//每次输出俩,循环到15
{
printf("%12ld%12ld",f1,f2);
f1=f1+f2;
f2=f1+f2;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: