不使用递归实现斐波那契数列

由于递归的写法效率太过低下,要求用非递归实现。

 

定义斐波那契数列如下:
{ 0                        n=0
{ 1                        n=1
{ f(n-1)+f(n-2)    n>1

// ConsoleApplication4.cpp : 定义控制台应用程序的入口点。
int fbnqsl(int n)
{
int tem = 0, h1 = 0, h2 = 1;
if (n < 0)
return -1;
if (1 == n || 0 == n)
return n;
for (int i = 2; i < n; ++i)
{
tem = h2;
h2 += h1;
h1 = tem;
}
return h1 + h2;
}
int main(int argc, char* argv[])
{
cout << fbnqsl(10);
getchar();
return 0;
}