斐波那数列(Fibonaccisequence):又称黄金分割数列、因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34……,即每一项等于前俩项之和,以此类推。
递归代码如下:
//O(2^n)
int Fibno(int n)
{
if (n <= 2)
{
return 1;
}
else
{
return Fibno(n - 1) + Fibno(n - 2);
}
}
非递归代码如下:
//O(n) S(1)
int Fibon(int n)
{
int f1 = 1;
int f2 = 1;
int f3 = 1;
for(int i = 3; i <= n; i++)
{
f3 = f1 + f2;
f1 = f2;
f2 = f3;
}
return f3;
}