当前位置: 编程技术>c/c++/嵌入式
递归形式与非递归形式的斐波那契数列的用法分析
来源: 互联网 发布时间:2014-10-16
本文导语: 代码如下:采用递归形式和非递归形式实现斐波那契数列 代码如下:#include "stdafx.h"#include using namespace std;//递归形式的斐波那契数列int fibonacciRecursion(int n){ if (n == 1 || n ==2) { return 1; } if (n > 2) { return fibonacciRecursion(n - 1) + fi...
代码如下:
采用递归形式和非递归形式实现斐波那契数列
代码如下:
#include "stdafx.h"
#include
using namespace std;
//递归形式的斐波那契数列
int fibonacciRecursion(int n)
{
if (n == 1 || n ==2)
{
return 1;
}
if (n > 2)
{
return fibonacciRecursion(n - 1) + fibonacciRecursion(n - 2);
}
}
//非递归形式的斐波那契数列
//用一个数组作为辅助的空间
//效率较高
int fibonacci(int n)
{
int temp[2];
temp[0] = 1;
temp[1] = 1;
if (n == 1 || n == 2)
{
return 1;
}
else
{
for (int i = 2; i < n; i ++)
{
int tp = temp[0] + temp[1];
temp[1] = temp[0];
temp[0] = tp;
}
return temp[0];
}
}
测试代码:
代码如下:
int _tmain(int argc, _TCHAR* argv[])
{
cout