本来是准本用递归的
可惜 递归 一直超时 就点开讨论区 看到这中方法
#include<stdio.h>
int main()
{
long long a[55]={0,1};
long long n,i;
while(scanf("%lld",&n)&&n!=-1){
for(i=2;i<=n;i++){
a[i]=a[i-1]+a[i-2];
}
printf("%lld\n",a[n]);
}
return 0;
}
本文介绍了一种使用动态规划方法而非递归来高效计算Fibonacci数的算法。通过预先计算并存储Fibonacci数列的值,可以在O(1)时间内返回任意项的值。
本来是准本用递归的
可惜 递归 一直超时 就点开讨论区 看到这中方法
#include<stdio.h>
int main()
{
long long a[55]={0,1};
long long n,i;
while(scanf("%lld",&n)&&n!=-1){
for(i=2;i<=n;i++){
a[i]=a[i-1]+a[i-2];
}
printf("%lld\n",a[n]);
}
return 0;
}

被折叠的 条评论
为什么被折叠?