最早接触fibonacci数列是在学递归函数那里,所以最开始的求法就是用递归。但是用递归局限性很大,n的值不能很大。所以要另寻方法解决这个问题。
大家都知道,fibonacci数列第一项和第二项为初值,第n项的值f(n)=f(n-1)+f(n-2),利用这个公式,用一个循环即可求出f(n),代码如下:
long long f(int n)
{
long long a=1;
long long b=1;
long long c;
int i;
if(n==1)
return 1;
else if(n==2)
return 1;
else
{
for(i=3;i<=n;i++)
{
c=a+b;
a=b;
b=c;
}
}
return b;
}