请用数组和递归的方式分别实现计
算斐波那契数列的第20项
、1、2、3、5、8、13、21、34
..,n=1和n=2的时候都是输出1
公式: f(n) = f(n-1)+f(n-2);
例如第
20项,6765
数组
#include <stdio.h>
int main(int argc, const char *argv[])
{
int arr[21];
arr[1]=1;
arr[2]=1;
for(int i=3;i<21;i++)
{
arr[i]=arr[i-1]+arr[i-2];
}
printf("第二十项%d\n",arr[20]);
return 0;
}
递归
#include <stdio.h>
int fun(int n)
{
if(n==1 ||n==2)
{
return 1;
}
else
{
return (fun(n-1)+fun(n-2));
}
}
int main(int argc, const char *argv[])
{
int n=20;
int sum=fun(n);
printf("第二十项为%d\n",sum);
return 0;
}