zoukankan      html  css  js  c++  java
  • 剑指offer编程题Java实现——面试题9斐波那契数列


    题目:写一个函数,输入n,求斐波那契数列的第n项。

     1 package Solution;
     2 
     3 /**
     4  * 剑指offer面试题9:斐波那契数列
     5  * 题目:写一个函数,输入n,求斐波那契数列的第n项。
     6  *                     0,                n=1
     7  *     斐波那契数列定义如下:f(n)=      1,                n=2
     8  *                                 f(n-1)+f(n-2),    n>2
     9  * @author GL
    10  *
    11  */
    12 public class No9Fibonacci {
    13 
    14     public static void main(String[] args) {
    15         System.out.println("第4项斐波那契数列的值为:"+fibonacci(4));
    16     }
    17 
    18     /*
    19      * 采用递归实现斐波那契数列生成函数,效率低
    20      */
    21     public static int generateFibonacci(int n){
    22         if(n==0)
    23             return 0;
    24         if(n==1)
    25             return 1;
    26         return generateFibonacci(n-1)+generateFibonacci(n-2);
    27     }
    28     
    29     /*
    30      * 采用循环实现斐波那契数列
    31      * 存储数列中间项,求得结果
    32      */
    33     public static int fibonacci(int n){
    34         int[] result={0,1};
    35         if(n<2)
    36             return result[n];
    37         int fibNMinusOne=1;
    38         int fibNMinusTwo=0;
    39         int fibN=0;
    40         for(int i=2;i<=n;i++){
    41             fibN=fibNMinusOne+fibNMinusTwo;
    42             fibNMinusTwo=fibNMinusOne;
    43             fibNMinusOne=fibN;
    44         }
    45         return fibN;
    46     }
    47 }
  • 相关阅读:
    第二次作业
    大学——新生活方式
    第四次作业
    第三次作业
    第二次作业——起航
    梦开始的地方
    第四次作业
    第三次作业
    第二次作业
    博客作业 随笔
  • 原文地址:https://www.cnblogs.com/gl-developer/p/6445445.html
Copyright © 2011-2022 走看看