Sabtu, 20 Oktober 2012

Membuat Bilangan Fibonacci dengan Java

Dalam matematika, bilangan Fibonacci adalah barisan yang didefinisikan secara rekursif sebagai berikut:

  F(n)=
   \begin{cases}
    0, & \mbox{jika }n=0; \\
    1, & \mbox{jika }n=1; \\
    F(n-1)+F(n-2) & \mbox{jika tidak.}
   \end{cases}
Penjelasan: barisan ini berawal dari 0 dan 1, kemudian angka berikutnya didapat dengan cara menambahkan kedua bilangan yang berurutan sebelumnya. Dengan aturan ini, maka barisan bilangan Fibonaccci yang pertama adalah:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946...
Barisan bilangan Fibonacci dapat dinyatakan sebagai berikut:
Fn = (x1n – x2n)/ sqrt(5)
dengan
  • Fn adalah bilangan Fibonacci ke-n
  • x1 dan x2 adalah penyelesaian persamaan x2-x-1=0
Perbandingan antara Fn+1 dengan Fn hampir selalu sama untuk sebarang nilai n dan mulai nilai n tertentu, perbandingan ini nilainya tetap. Perbandingan itu disebut Golden Ratio yang nilainya mendekati 1,618.



import javax.swing.JOptionPane;
 
 /*
    This program computes Fibonacci numbers using a recursive
    method.
  */
 public class Fibonacci
{ 
    public static void main(String[] args)
    { 
       String input = JOptionPane.showInputDialog("Enter n: ");
       int n = Integer.parseInt(input);
 
       for (int i = 1; i <= n; i++)
       {
          int f = fib(i);
          System.out.println("fib(" + i + ") = " + f);
       }
       System.exit(0);
      
    }
 
    /**
       Computes a Fibonacci number.
       @param n an integer
       @return the nth Fibonacci number
    */
    public static int fib(int n)
    { 
       if (n <= 2)
            return 1;
       else
            return fib(n - 1) + fib(n - 2);
    }
 }

0 komentar: