问题描述:有一对兔子,从出生后的第三个月起每个月都生一对兔子。小兔子长到第三个月后每个月又生一对兔子,假设所有的兔子都不死,问三十个月内每个月的兔子总数为多少?
算法设计:算法可描述为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;
}
}
标签:fib,迭代,fib1,兔子,fib2,问题,printf,生产 From: https://www.cnblogs.com/zjm921/p/17341556.html