实例五十:兔子繁衍问题

mac2022-06-30  118

实例五十:兔子繁衍问题

问题描述: 有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第 3 个月后每个月又生一对兔子,假如兔子都不死,问以后每个月的兔子总数为多少。

算法思路:

显然前两个月都只有一对兔子,其增长率为数列 1,1,2,3,5,8,13,21…,即从第三项开始每一项都是前面两项的和。 这其实就是计算并输出 Fibonacci 数列的前 n 项,即: F1 = 1 (n = 1) F2 = 2 (n = 2) Fn = Fn-1 + Fn-2 (n >= 1)

#include<stdio.h> int main() { int i; int f[20]={1,1}; for(i=2;i<20;i++) f[i] = f[i-2] + f[i-1]; for(i=0;i<20;i++) { if(i%5==0) printf("\n"); printf("d",f[i]); } }
最新回复(0)