zoukankan      html  css  js  c++  java
  • 剑指offer 07斐波那契数列

    现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39

    java版本:

    public class Solution {
    
        public static void main(String[] args) {
            long startTime=System.currentTimeMillis();
            System.out.println("第39项是:"+Fibonacci(39));
            long endTime = System.currentTimeMillis(); 
            System.out.println("程序运行的时间 :"+(endTime-startTime)+"ms");
            // TODO Auto-generated method stub
    
        }
        /*采用循环,存取中间项。速度快*/
        /*public static int Fibonacci(int n) {
            int a=1,b=1,c=0;
            if(n<0){
                return 0;
            }else if(n==1||n==2){
                return 1;
            }else{
                for(int i=3;i<=n;i++){
                    c=a+b;
                    b=a;
                    a=c;
                }
                return c;
            }
        }*/
        /*递归,简单,但是速度慢,数字越大,运行时间越长*/
        public static int Fibonacci(int n){
                     if(n==0)
                         return 0;
                     if(n==1)
                        return 1;
                     return Fibonacci(n-1)+Fibonacci(n-2);
        }
    
    
    }

    js版本:

    function Fibonacci(n)
    {
            if(n==0){
                return 0;
            }
           if(n==1||n==2){
                return 1;
            }
            var a=1,b=1,c=0;
            for(var i=3;i<=n;i++){
                 c=a+b;
                 b=a;
                 a=c;
            }
        return c;// write code here
    }

    总结:核心思想就是c=a+b;b=a;a=c;这三项。每一次先确定c的值,然后把上一次a的值赋值给b,再把本次的c的值赋值给a,每一次for循环向后走一次。

  • 相关阅读:
    746. 使用最小花费爬楼梯
    1283. 使结果不超过阈值的最小除数
    307. 区域和检索
    303. 区域和检索
    474. 一和零
    600. 不含连续1的非负整数
    命名规范【转】
    .NET中RabbitMq的使用
    C#中json字符串的序列化和反序列化
    c#发送post请求(带参数)
  • 原文地址:https://www.cnblogs.com/yyfyl/p/9397796.html
Copyright © 2011-2022 走看看