递归计算如下递归函数的值

f(1)=1

递归计算如下递归函数的值

f(2)=1

f(n)=f(n-1)+f(n-2) n>2

解:

int f(int n)

{

int i,s,s1,s2;

s1=1;/*s1用于保存f(n-1)的值*/

s2=1;/*s2用于保存f(n-2)的值*/

s=1;

for(i=3;i<=n;i++)

{

s=s1+s2;

s2=s1;

s1=s;

}

return(s);

}

拓展阅读:

斐波拉契数列(又译作“斐波那契数列”)是一个非常美丽和谐的数列。

它的.形状可以用排成螺旋状的一系列正方形来说明(如右词条图),起始的正方形(图中用灰色表示)的边长为1,在它左边的那个正方形的边长也是1 ,在这两个正方形的上方再放一个正方形,其边长为2,以后顺次加上边长为3、5、8、13、2l……等等的正方形。

这些数字每一个都等于前面两个数之和,它们正好构成了斐波那契数列。