Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux编程 > » 正文

Fibonacci数列计算的三种方法

来源: 未知 分享至:

以下分别用递归,迭代,动态规划求解Fibonacci数列:

 1 #include <iostream>
2 #include <ctime>
3 using namespace std;
4
5 int Fibonacci_R(int n)
6 {
7 if((n == 1)||(n == 2))
8 return 1;
9 else
10 return Fibonacci_R(n-1) + Fibonacci_R(n-2);
11 }
12
13 int Fibonacci_I(int n)
14 {
15 int A = 1;
16 int B = 1;
17 int C = 2;
18 int index;
19 if((n == 1)||(n == 2))
20 return 1;
21 for(index = 3; index <= n; ++index)
22 {
23 C = A + B;
24 A = B;
25 B = C;
26 }
27 return C;
28 }
29
30 int Fibonacci_D(int n)
31 {
32 int * pCache = new int[n]; //avoid stack overflow
33 pCache[0] = 1;
34 pCache[1] = 1;
35 for(int i = 2; i<n; ++i)
36 {
37 pCache[i] = pCache[i-1] + pCache[i-2];
38 }
39 int result = pCache[n-1];
40 delete [] pCache;
41 return result;
42 }
43

Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史