兔子产子问题

来源:互联网 发布:windows nc命令工具 编辑:程序博客网 时间:2024/04/30 07:06

有一对兔子,从出生后的第三个月起每个月生一对兔子,小兔子长到第三个月后再生一对兔子,假设所有兔子不死,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;    }}


0 0
原创粉丝点击