手机
当前位置:查字典教程网 >编程开发 >C语言 >递归形式与非递归形式的斐波那契数列的用法分析
递归形式与非递归形式的斐波那契数列的用法分析
摘要:复制代码代码如下:采用递归形式和非递归形式实现斐波那契数列复制代码代码如下:#include"stdafx.h"#includeusingn...

复制代码 代码如下:

<SPAN>采用递归形式和非递归形式实现斐波那契数列</SPAN>

复制代码 代码如下:

#include "stdafx.h"

#include <iostream>

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 << fibonacci(1) << " " << fibonacci(2) << " " << fibonacci(3) << " " << fibonacci(4) << " "

<< fibonacci(5) << " " << fibonacci(6) << " "<< fibonacci(7) << " "<< fibonacci(8) << " "

<< fibonacci(9) << " " << fibonacci(10) << endl;

cout << fibonacciRecursion(1) << " " << fibonacciRecursion(2) << " " << fibonacciRecursion(3) << " " <<

fibonacciRecursion(4) << " "<< fibonacciRecursion(5) << " " << fibonacciRecursion(6) << " "<< fibonacciRecursion(7)

<< " "<< fibonacciRecursion(8) << " "<< fibonacciRecursion(9) << " " << fibonacciRecursion(10) << endl;

return 0;

}

【递归形式与非递归形式的斐波那契数列的用法分析】相关文章:

C/C++中可变参数的用法详细解析

C++非递归遍历磁盘文件和递归遍历磁盘文件的程序示例

C++输入一个字符串,把其中的字符按照逆序输出的两种方法解析

使用C语言递归与非递归实现字符串反转函数char *reverse(char *str)的方法

C++中的异或运算符^的使用方法

ACE反应器(Reactor)模式的深入分析

HDOJ 1443 约瑟夫环的最新应用分析详解

C++中关于Crt的内存泄漏检测的分析介绍

求斐波那契(Fibonacci)数列通项的七种实现方法

c语言中static和extern的用法详细解析

精品推荐
分类导航