实现斐波那契数列的递归、非递归及尾递归。
2017-12-06 16:06
246 查看
非递归
递归:
尾递归
int Fib(k) { int a = 0; int b = 1; int c = 0; int i = 0; if (k < 2) { return k; } for (i = 2; i <= k; i++) { c = a + b; a = b; b = c; } return c; }
递归:
int Fib(k) { int i = 0; if (k < 2) { return k; } else { return Fib(k - 1) + Fib(k - 2); } return; }
尾递归
int Fib(int first, int second, int k) { if (k==1||k == 2) { return 1; } if (k == 3) { return first + second; } return Fib(second, first + second,k-1); }
相关文章推荐
- 详解python使用递归、尾递归、循环三种方式实现斐波那契数列
- 【Java】斐波那契数列(Fibonacci Sequence、兔子数列)的3种计算方法(递归实现、递归值缓存实现、循环实现、尾递归实现)
- 斐波那契数列 递归 尾递归 递推 C++实现
- 小朋友学C语言(16):斐波那契数列的非递归实现
- 斐波那契数列-递归实现
- 用栈模拟斐波那契数列,实现非递归的过程
- C语言不用递归(使用栈)实现斐波那契数列练习
- 用递归,迭代,通项公式三种方法实现斐波那契数列求解
- 斐波那契数列的递归实现
- 用递归实现斐波那契数列(Fibonacci Sequence )的函数
- 递归和非递归方法实现斐波那契数列
- 非递归实现斐波那契数列
- 小朋友学C语言(17):斐波那契数列的递归实现
- 使用递归实现斐波那契数列
- 通过斐波那契数列分析实现函数时采用递归和循环的利弊
- 数据结构9:斐波那契数列表示与实现(递归)
- 解析分别用递归与循环的方式求斐波那契数列的实现方法
- 斐波那契数列递归实现和优化
- [Java实现]Filbonacci斐波那契数列递归带来的问题和改进
- 斐波那契数列递归实现和非递归实现