簡體   English   中英

Fibonacci方法按順序返回第n個數字

[英]Fibonacci method return nth number in sequence

我需要制作一個返回斐波那契數列中的第n個整數的方法,我編寫的代碼在打印到表中時會返回該數列的第二個整數。 方法中使用的int fib是行號乘以列號,你們能幫忙嗎?

private int fibonacci(int fib){
    int a = 1, b = 1;
    while(a < fib){
        b+=a+=b;
    }
    return b+=a+=b;
}

private int fibonacci(int fib){
    int fibn = 0;

    fibn =(int)((Math.pow((1+Math.sqrt(5)), fib)-Math.pow((1-Math.sqrt(5)), fib))/(Math.pow(2,  fib)*Math.sqrt(5)));

    return fibn;
}



   *    |   1   2   3   4   5
--------------------------------
   1    |   1   1   2   3   5
   2    |   1   3   8  21  55
   3    |   2   8  34 144 610
   4    |   3  21 144 9876765

試試下面的代碼,例如:

public class Fibonacci {
    public static void main(String[] args) {
        int n = 15, a = 1, b = 1;
        System.out.print(a + " " + b);
            for(int i =3; i < n; i++) {
            b = a + b;
            a = b - a;
            System.out.print(" " + b);
        }
    }
}

這給出了輸出:

1 1 2 3 5 8 13 21 34 55 89 144 233 377

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM