兔子生产问题

问题描述:有一对兔子,从出生后的第三个月起每个月都生一对兔子。小兔子长到第三个月后每个月又生一对兔子,假设所有的兔子都不死,问三十个月内每个月的兔子总数为多少?

算法设计:算法可描述为fib=fib2=1(n=1,2)    初值          fibn=fib(n-1)+fib(n-2)(n>=3)    迭代公式

fib为当前新求出的兔子数,fib1为前一个月的兔子数,fib2中存放的是前两个月的兔子数,然后为下一次迭代做准备

完整程序:

#include<studio.h>

void main()

{

long fib1=1,fib2=1,fib;

int i;

printf("%121d%121d",fib1,fib2);

for(i=3;i<=30;i++)

{

fib=fib1+fib2;

printf("%12d",fib);

if(i%4==0)

printf("\n");

fib2=fib1;

fib1=fib;

}

}

 

posted @ 2023-04-21 19:41  张佳木  阅读(33)  评论(0)    收藏  举报