斐波那契数列的实现
2017-06-13 10:47
281 查看
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用。
斐波那契数列的实现
斐波那契数列的实现
void testFibonacci(){ for (int i = 0; i < 300; i++) { long long result = fibonacci(i); printf("result is %lld\n", result); } } int fibonacciRecursion(int n){ if (n <= 0) { return 0; } if (n == 1) { return 1; } //指数级 - 此实现很不好 return fibonacciRecursion(n - 1) + fibonacciRecursion(n - 2); } long long fibonacci(int n){ if (n == 0) { return 0; } if (n == 1) { return 1; } if (n >= 2) { long long previous = 1;//n-1 long long lastPrevious = 0;//n-2 long long result = 0; for (int i = 2; i <= n; i++) { result = previous + lastPrevious; lastPrevious = previous; previous = result; } printf("f(%d) is %lld\n", n, result); } return 0; }
相关文章推荐
- 利用无穷循环实现斐波那契数列
- 斐波那契数列实现--递归,迭代,数组,队列
- 用数组实现斐波那契数列
- 斐波那契数列的递归实现
- 斐波那契数列的矩阵分治求法java实现
- 栈实现斐波那契数列递归过程的非递归模拟
- 斐波那契数列的实现(改进)
- 汇编实现斐波那契数列
- java实现斐波那契数列的3种方法
- 斐波那契数列规律的解释及实现
- PHP实现斐波那契数列
- 求斐波那契(Fibonacci)数列通项的七种实现方法
- 使用循环实现斐波那契数列——C
- 斐波那契数列的3种java程序实现
- Fibonacci(斐波那契)数列实现
- 斐波那契数列的递归和非递归实现
- PHP实现斐波那契数列
- java递归实现斐波那契数列
- 用一条SQL语句实现斐波那契数列
- 斐波那契数列实现--递归,迭代,数组,队列