1.形如1 1 2 3 5 8 13 21 34...叫斐波那契数列 即前两项之和为第三项
2.一般思路:n<=2时 fib(n)=1
n>2时 fib(n)=fib(n-1)+fib(n-2)
3.方法一:利用简单的for循环和赋值
#include <stdio.h>
int main() {
int fib1 = 1,fib2 = 1;
int i;
for (int i = 1; i<=20; i++)
{
printf("%12d %12d",f1,f2);
if(i%2 == 0)
printf("\n"); //输出4个数后换行
fib1 = fib1+fib2;
fib2 = fib2+fib1;
}
return 0;
}
方法二:利用数组进行存储
#include <stdio.h>
#define N 40 //数组中容纳的项数
int main() {
long int fib[N]={1,1};
int n;
printf("输入想求的项数:");
scanf("%d",&n);
for (int i = 2;i< n ; i++)
{
fib[i] = fib[i-1] + fib[i-2];
}
printf("%ld",fib[n-1]);
return 0;
}