请看看错在哪里
已知Fibonacci数列:1,1,2,3,5,8,……,它可由下面公式表述: F(1)=1 if n=1 F(2)=1 if n=2 F(n)=F(n-1)+F(n-2) if n>2 试求F(1)+F(2)+……+F(50)值。 提示: 最好使用递推法求解,因为使用递归调用很可能超出某些语言的递归深度。#include"stdio.h"
#include"math.h"
long int f(int x)
{
if(x==1||x==2)
return 1;
else
return(f(x-1)+f(x-2));
}
int main()
{
int i;
long int sum=0,a[50];
for(i=1;i<=50;i++)
{ a[i-1]=f(i);
sum=sum+a[i-1];
}
printf("sum=%ld",sum);
return 0;
}
为什么运行不出结果?错在哪