C++ Fibonacci数列 O(2^n) 和 O(n)解法
来源:互联网 发布:阿里巴巴数据采集器 编辑:程序博客网 时间:2024/06/05 19:20
#include <iostream>
int Fibonacci(int num);
int Fibonacci_pro(int num);
int main()
{
int num = 0;
while (std::cin >> num)
{
std::cout << Fibonacci_pro(num) << std::endl;
}
system("pause");
return 0;
}
int Fibonacci(int num) //暴力递归版本的Fibonacci O(2^n)
{
if (num < 1)
return 0;
if (num == 1 || num == 2)
return 1;
else
return Fibonacci(num - 1) + Fibonacci(num - 2);
}
int Fibonacci_pro(int num) //从左到右依次求出每一项的值,通过顺序计算求得第n项的值 O(n)
{
if (num < 1)
return 0;
if (num == 1 || num == 2)
return 1;
int res = 1;
int pre = 1;
int tmp = 0;
for (int i = 3; i <= num; ++i)
{
tmp = res;
res = res + pre;
pre = tmp;
}
return res;
}
int Fibonacci(int num);
int Fibonacci_pro(int num);
int main()
{
int num = 0;
while (std::cin >> num)
{
std::cout << Fibonacci_pro(num) << std::endl;
}
system("pause");
return 0;
}
int Fibonacci(int num) //暴力递归版本的Fibonacci O(2^n)
{
if (num < 1)
return 0;
if (num == 1 || num == 2)
return 1;
else
return Fibonacci(num - 1) + Fibonacci(num - 2);
}
int Fibonacci_pro(int num) //从左到右依次求出每一项的值,通过顺序计算求得第n项的值 O(n)
{
if (num < 1)
return 0;
if (num == 1 || num == 2)
return 1;
int res = 1;
int pre = 1;
int tmp = 0;
for (int i = 3; i <= num; ++i)
{
tmp = res;
res = res + pre;
pre = tmp;
}
return res;
}
阅读全文
0 0
- C++ Fibonacci数列 O(2^n) 和 O(n)解法
- [算法]Fibonacci数列O(n)和O(lgn)的解法
- Fibonacci 数列O(logn)解法
- fibonacci 数列实现 log(n) and O(n)
- hdu 1025&hdu 1025 LIS(O(n*n)和O(n*log(n)))两种解法
- 多重背包问题的三种复杂度解法,O(n * w * c)、O(n*w*log c)和O(n * w)。
- LCS O(n logn)解法
- 约瑟夫环O(N)解法
- 约瑟夫环O(N)解法
- Fibonacci数列的log(n)解法
- Fibonacci序列 —— O(log n)求Fibonacci数列(非矩阵法)
- Leetcode 287. Find the Duplicate Number O(n)解法和O(nlogn)解法
- KT学算法(一)——数列连续子列最大和问题的O(n)解法
- 最大连续子序列和问题O(n)解法
- O(n^3)、O(n^2)和O(n)求最长回文子串
- 3070 Fibonacci(O(log n)求解 )
- LeetCode题解:Longest Increasing Subsequence O(N^2解法)
- [LeetCode] 3Sum的O(N^2)解法
- Android MVP 模型的使用
- Springcloud consul + ribbon\feign
- ArcGIS安装教程
- linux中的CIFS共享服务
- Java中大数的相关计算
- C++ Fibonacci数列 O(2^n) 和 O(n)解法
- 继承与抽象类
- 005 Python前端之元素类型
- Windows下kafka以及zookeeper的安装
- c#中的观察者设计模式
- 树的遍历——已知后序与中序输出前序(先序)
- C++ STL简单小程序之开源中国
- java.lang.IllegalStateException: Cannot forward after response has been committed
- 类型的运用