题目:
之前都用递归来解,这次用动态规划的dp数组解
f[i]中的i表示斐波那契数列的第n列,f[i]表示要输出的斐波那契数。
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
Fibonacci(n);
printf("%d",Fibonacci(n));
return 0;
}
int Fibonacci(int n) {
int i;
int f[50];
f[1]=1;//初始化dP数组
f[2]=1;
for(i=3;i<=n;i++){//从i=3开始遍历,因为1和2已知,且若不从3开始遍历则会数组下标越界
f[i]=f[i-1]+f[i-2];//递推公式
}
return f[n];
}