题目
斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……
在数学上,斐波纳契数列以如下被以递归的方法定义:
F(0)=0,
F(1)=1,
F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)
解答
迭代实现效率要高于递归实现
递归实现
C语言程序代码实现
long fibonacci(int n)
{
if( n == 0 ) return 0;
if( n == 1 ) return 1;
return fibonacci(n-1) + fibonacci(n-2);
}
迭代实现
C语言程序代码实现
long fibonacci(int n)
{
if( n==0 ) return 0;
long result;
long previous_result;
long next_older_result;
result = previous_result = 1;
while( n>2 )
{
next_older_result = previous_result;
previous_result = result;
result = previous_result + next_older_result;
n -= 1;
}
return result;
}