zoukankan      html  css  js  c++  java
  • 斐波那契数列

    题目描述

    大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。

    n<=39

    /*
    整体思路:考虑负数,大数,算法的复杂度,空间的浪费
    */
     
    public class Solution {
        public int Fibonacci(int n) {
            //方法1:用递归,系统会让一个超大的n来让Stack Overflow,所以
            //递归就不考虑了
             
            //使用迭代法,用fn1和fn2保存计算过程中的结果,并复用起来
            int fn1 = 1;
            int fn2 = 1;
             
            //考虑出错情况
            if (n <= 0) {
                return 0;
            }
            //第一和第二个数直接返回
            if (n == 1 || n == 2) {
                return 1;
            }
     
            //当n>=3时,走这里,用迭代法算出结果
            //这里也说明了,要用三个数操作的情况,其实也可以简化为两
            //个数,从而节省内存空间
            while (n-- > 2) {
                fn1 += fn2;
                fn2 = fn1 - fn2;
            }
            return fn1;
        }
    }
    

      

    拥抱明天! 不给自己做枷锁去限制自己。 别让时代的悲哀,成为你人生的悲哀。
  • 相关阅读:
    SQL复制表
    文件流 修改二进制文件
    C#代码开启或关闭window service
    程序员之间的相处
    .NET实现图片下载(后台)
    当要存入数据的数据为null时 必须转换成DBNull.Value
    Maven第三篇【Maven术语、pom.xml介绍】
    Maven第二篇【Idea下使用Maven】
    Maven第一篇【介绍、安装、结构目录】
    SSM整合开发
  • 原文地址:https://www.cnblogs.com/dd2hm/p/7286800.html
Copyright © 2011-2022 走看看