zoukankan      html  css  js  c++  java
  • 关于"费伯纳契序列"1,1,2,3,5,8,13,21……

    费伯纳契公式公式为:
    F(n):=     \begin{cases}     0             & \mbox{if } n = 0; \\     1             & \mbox{if } n = 1; \\     F(n-1)+F(n-2) & \mbox{if } n > 1. \\    \end{cases}
    根据公式最简单的递归调用实现:
    namespace lichen.cnblogs.com
    {
        class fibonaci
        {
            static void Main(string[] args)
            {
            }
            static int F(int i)
            {
                if (i == 0)
                {
                    return 0;
                }
                if (i == 1)
                {
                    return 1;
                }
                if (i > 1)
                {
                    return F(i - 1) + F(i - 2);
                }
                else
                {
                    return 0;
                }
            }
        }
    }
    运行后会发现这个实现效率很低,我的机器配置不高求到37、8位的时候就已经明显感觉到停顿,主要是>1的算法引起的,应改是还有更好实现。
  • 相关阅读:
    堆排序回顾
    动画函数封装
    mouseenter 和mouseover的区别
    元素滚动 scroll 系列
    元素可视区 client 系列
    元素偏移量 offset 系列
    JS执行机制
    BOM
    常用键盘事件
    常用鼠标事件
  • 原文地址:https://www.cnblogs.com/lichen/p/788835.html
Copyright © 2011-2022 走看看