Deret Fibonacci di Java menggunakan Program Rekursi dan Loop
Apa yang dimaksud dengan Deret Fibonacci Java?
A Seri Fibonacci in Java adalah serangkaian angka di mana angka berikutnya adalah jumlah dari dua angka sebelumnya. Dua angka pertama dari deret Fibonacci adalah 0 dan 1. Angka Fibonacci secara signifikan digunakan dalam studi run-time komputasional dari suatu algoritma untuk menentukan pembagi persekutuan terbesar dari dua bilangan bulat.
Dalam aritmatika, susunan Wythoff merupakan matriks angka tak terhingga yang dihasilkan dari deret Fibonacci.
The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
Program Deret Fibonacci di Java menggunakan Untuk Loop
//Using For Loop public class FibonacciExample { public static void main(String[] args) { // Set it to the number of elements you want in the Fibonacci Series int maxNumber = 10; int previousNumber = 0; int nextNumber = 1; System.out.print("Fibonacci Series of "+maxNumber+" numbers:"); for (int i = 1; i <= maxNumber; ++i) { System.out.print(previousNumber+" "); /* On each iteration, we are assigning second number * to the first number and assigning the sum of last two * numbers to the second number */ int sum = previousNumber + nextNumber; previousNumber = nextNumber; nextNumber = sum; } } }
Keluaran:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Logika Program:
- previousNumber diinisialisasi ke 0 dan nextNumber diinisialisasi ke 1
- Fibonacci For Loop mengulanginya
maxNumber
- Tampilkan Nomor sebelumnya
- Menghitung jumlah Nomor sebelumnya dan Nomor berikutnya
- Memperbarui nilai baru dari PreviousNumber dan nextNumber
Program Deret Fibonacci di Java menggunakan While Loop
Anda juga dapat menghasilkan Java Deret Fibonacci menggunakan a While
lingkaran dalam Java
//Using While Loop public class FibonacciWhileExample { public static void main(String[] args) { int maxNumber = 10, previousNumber = 0, nextNumber = 1; System.out.print("Fibonacci Series of "+maxNumber+" numbers:"); int i=1; while(i <= maxNumber) { System.out.print(previousNumber+" "); int sum = previousNumber + nextNumber; previousNumber = nextNumber; nextNumber = sum; i++; } } }
Keluaran:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Satu-satunya perbedaan dalam logika program adalah penggunaannya SAAT Loop untuk mencetak Fibonacci Numbers
Deret Fibonacci Berdasarkan Input Pengguna
//fibonacci series based on the user input import java.util.Scanner; public class FibonacciExample { public static void main(String[] args) { int maxNumber = 0; int previousNumber = 0; int nextNumber = 1; System.out.println("How many numbers you want in Fibonacci:"); Scanner scanner = new Scanner(System.in); maxNumber = scanner.nextInt(); System.out.print("Fibonacci Series of "+maxNumber+" numbers:"); for (int i = 1; i <= maxNumber; ++i) { System.out.print(previousNumber+" "); /* On each iteration, we are assigning second number * to the first number and assigning the sum of last two * numbers to the second number */ int sum = previousNumber + nextNumber; previousNumber = nextNumber; nextNumber = sum; } } }
Logika Program:
Logikanya sama seperti sebelumnya. Daripada melakukan hardcode pada jumlah elemen yang akan ditampilkan Java Deret Fibonacci, pengguna diminta menuliskan angka.
Deret Fibonacci Menggunakan Rekursi di Java
Di bawah ini adalah program deret Fibonacci Java menggunakan rekursi:
//Using Recursion public class FibonacciCalc{ public static int fibonacciRecursion(int n){ if(n == 0){ return 0; } if(n == 1 || n == 2){ return 1; } return fibonacciRecursion(n-2) + fibonacciRecursion(n-1); } public static void main(String args[]) { int maxNumber = 10; System.out.print("Fibonacci Series of "+maxNumber+" numbers: "); for(int i = 0; i < maxNumber; i++){ System.out.print(fibonacciRecursion(i) +" "); } } }
Keluaran:
Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34
Logika Program:
Fungsi rekursif adalah fungsi yang mempunyai kemampuan untuk memanggil dirinya sendiri.
fibonacciRekursi():
- The Java Fungsi rekursi Fibonacci mengambil angka masukan. Memeriksa 0, 1, 2 dan mengembalikan 0, 1, 1 karena deret Fibonacci di Java dimulai dengan 0, 1, 1.
- Ketika input n >=3, Fungsi akan memanggil dirinya sendiri secara rekursif. Panggilan dilakukan dua kali. Mari kita lihat Deret Fibonacci di Java menggunakan contoh rekursi untuk input 4.
fibonacciRecursion (4) It will recursively call fibonacciRecursion function for values 2 and 3 fibonacciRecursion (2) \\ call for value 0 and 1 fibonacciRecursion (0) = 0 fibonacciRecursion (1) = 1 fibonacciRecursion (3) \\ It will call for 1 and 2 fibonacciRecursion (1) = 1 fibonacciRecursion (2) \\ It will call for 0 and 1 fibonacciRecursion (0) = 0 fibonacciRecursion (1) = 1
Sekarang hasilnya ditambahkan 0+1+1+0+1=3