斐波那契数列(Fibonacci sequence)
又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”
指的是这样一个数列:
0、1、1、2、3、5、8、13、21、34、……
在数学上,斐波那契数列以如下被以递推的方法定义:
F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)
图片解释更为直观:
源代码_1(数组实现):
#include <stdio.h>
int main()
{
int n = 0;
printf("斐波那契数个数:\n");
scanf_s("%d", &n);
int i,f[200] = {
1, 1 };
for (i = 2; i <n; i++)
f[i] = f[i - 2] + f[i - 1];
for (i = 0; i <n; i++)
{
if (i % 5 == 0)
printf("\n");
printf("%12d", f[i]);
}
return 0;
}
源代码_2(迭代实现):
#include <stdio.h>
int main()
{
int n = 0;
printf("斐波那契数数个数:\n");
scanf_s("%d", &n);
int f1 = 1, f2 = 1, f3;
printf("%d\n%d\n", f1, f2);
int i;
for (i = 3; i <= n; i++)
{
f3 = f1 + f2;
printf("%d\n", f3);
f1=f2;
f2=f3;
}
return 0;
}