【问题】 编写计算斐波那契(Fibonacci)数列的第n项函数fib(n)。
斐波那契数列为:0、1、1、2、3、……,即:
fib(0)=0;
fib(1)=1;
fib(n)=fib(n-1)+fib(n-2) (当n>1时)。
写成递归函数有:
int fib(int n)
{ if (n==0) return 0;
if (n==1) return 1;
if (n>1) return fib(n-1)+fib(n-2);
}
迭代算法(递推算法):
int fib(int n)
{
int x,y,z;
if (n==0)
{
return 0;
}
else
{
x = 0;
y = 1;
z = 0;
for( i = 1; i < n - 1; i++ )
{
z = x + y;
x = y;
y = z;
}
return y;
}
阅读(3517) | 评论(0) | 转发(0) |