题目:
斐波那契数列指的是这样一个数列:
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........
这个数列从第3项开始,每一项都等于前两项之和。
方法一:递归函数
方法二:数组法
代码附上:
#include <stdio.h>
int F(int n);
int main(void)
{
int n,ret;
scanf("%d",&n);
printf("%d",F(n));
return 0;
}
int F(int n)
{
if(n==1||n==2)//数列前两项单独列出
{
return 1;
}
else
{
return F(n-1)+F(n-2);
}
}
#include <stdio.h>
int main(void)
{
int a[20],i;//定义一个数组长度为20的数组
a[0]=1;//因为前两个元素没有规律,可以单独赋值并且输出
a[1]=1;//对数组里面前两个元素进行赋值
printf("%d\n",a[0]);//数组下标从0开始
printf("%d\n",a[1]);
for(i=2;i<=20;i++)
{
a[i]=a[i-1]+a[i-2];//写一个for循环,依次对数组里面的值进行赋值
printf("%d\n",a[i]);//同时依次输出数组
}
return 0;
}