请用数组和递归的方式分别实现计算斐波那契数列的第20项1、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 fibonacci1(int n) {
int fib[n+1];
fib[1] = 1;
fib[2] = 1;
for (int i = 3; i <= n; i++) {
fib[i] = fib[i-1] + fib[i-2];
}
return fib[n];
}
//递归
int fibonacci2(int n) {
if (n <= 2) {
return 1;
}
return fibonacci2(n-1) + fibonacci2(n-2)
}
int main() {
int result1 = fibonacci1(20);
printf("%d\n", result1);
int result2 = fibonacci2(20);
printf("%d\n", result2);
return 0;
}