古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子 长到第三个月后每个月又生一对兔子,假如兔子都不死, 问每个月的兔子总数为多少?
解读:
斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)在现代物理、准晶体结构、化学等领域,斐波那契数列都有直接的应用,为此,美国数学会从 1963 年起出版了以《斐波那契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。
图解:
代码:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int n;
printf("输入兔子存活月数:");
scanf("%d", &n);
int a[200],i,t;
for (i = 0; i < n; i++)
{
if (i == 0 || i == 1)
{
a[i] = 1;
printf("%d\n", a[i]);
}
else
{
a[i] = a[i - 1] + a[i - 2];
printf("%d\n", a[i]);
}
}
return 0;
}
结果: