斐波那契数列规律的解释及实现
2014-09-03 01:57
357 查看
很多人都听说过斐波那契数列, 也知道它的规律, 但有些人很可能不知其所以然, 以下是我的分析:
1.假设第n 月有a1对兔子, 其中能生育的为b1.
2.那么第n + 1 月就有a2 = a1(上个月的总数) + b1(新生出来的个数)对.
3.第n + 2 月时, 第n月的兔子都能生了, 因此此时兔子的总对数
a3 = (a1 + b1)(这是上个月的基数) + a1(第n 月存在的兔子都生了一对) = a2 + a1.
4.由以上可得, 第(n + 2)月的数目等于前两个月的数目之和 即F(n + 2) = F(n) + F(n + 1).
1.假设第n 月有a1对兔子, 其中能生育的为b1.
2.那么第n + 1 月就有a2 = a1(上个月的总数) + b1(新生出来的个数)对.
3.第n + 2 月时, 第n月的兔子都能生了, 因此此时兔子的总对数
a3 = (a1 + b1)(这是上个月的基数) + a1(第n 月存在的兔子都生了一对) = a2 + a1.
4.由以上可得, 第(n + 2)月的数目等于前两个月的数目之和 即F(n + 2) = F(n) + F(n + 1).
size_t Fibonacci (size_t n) { if (n < 3)return 2; else { size_t f1 = 1, f2 = 1; for (size_t i = 0; i < n - 2; ++i) { size_t f = f1 + f2; f1 = f2; f2 = f; } return f2 * 2; } }
相关文章推荐
- 滚动数组实现斐波那契数列...
- 利用无穷循环实现斐波那契数列
- 斐波那契(面向对象方法实现和规律实现两种方法)
- 斐波那契数列的递归,迭代(循环),通项公式三种实现
- 斐波那契数列的递归实现
- 汇编实现斐波那契数列
- 斐波那契数列的实现(改进)
- java实现斐波那契数列的3种方法
- 用简单的Java代码实现斐波那契数列
- 斐波那契数列实现--递归,迭代,数组,队列
- 斐波那契数列的递归和非递归实现
- 求斐波那契(Fibonacci)数列通项的七种实现方法
- 使用循环实现斐波那契数列——C
- 斐波那契数列的3种java程序实现
- java递归实现斐波那契数列
- 栈实现斐波那契数列递归过程的非递归模拟
- PHP实现斐波那契数列
- 斐波那契数列算法汇编实现
- c 实现斐波那契(fibonacii)数列
- 斐波那契数列的递归,迭代(循环),通项公式三种实现