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循环向后走一次。

  • 相关阅读:
    linux和window双系统下修改系统启动项
    linux下定位文件
    gcc/g++命令
    asp.net(C#)清除全部Session与单个Session
    响应式布局简介
    JS MD5
    遍历 DataSet
    标题背景圆角 随意宽度
    position
    vertical-align:middle图片或者按钮垂直居中
  • 原文地址:https://www.cnblogs.com/yyfyl/p/9397796.html
Copyright © 2011-2022 走看看