如果用递归算法计算第n个斐波那契项的话,就会造成一边又一遍得计算同一个值,如果决解这个问题,效率就会高很多;
那么,如果在计算一个值时,将其保存在一个数组中,想必就会高效很多;以下是该算法的代码:
int fun(int n)
{
int i;
int f[n]={};//实际不可以这么操作
//如果在c语言中要实现数组的长度为变量
//可以用
//int *f;
//f=(int *)malloc(sizeof(int)*n);//动态分配内存的方式实现
f[0]=0;
if(n>0)
f[1]=1;
for(i=2;i<=n;i++)
f[i]=f[i-1]+f[i-2];
return f[n];
}