Fibonacci Serisi Java Özyineleme ve Döngüler Programını kullanma
Fibonacci Dizisi Nedir? Java?
A Fibonacci Serisi in Java bir sonraki sayının önceki iki sayının toplamı olduğu bir sayı dizisidir. Fibonacci serisinin ilk iki sayısı 0 ve 1'dir. Fibonacci sayıları, iki tam sayının en büyük ortak bölenini belirlemek için bir algoritmanın hesaplamalı çalışma zamanı çalışmasında önemli ölçüde kullanılır.
Aritmetikte Wythoff dizisi, Fibonacci dizisinden kaynaklanan sonsuz bir sayı matrisidir.
The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
Fibonacci Dizisi Programı Java For Döngüsü'nü kullanma
//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; } } }
Çıktı:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Programın Mantığı:
- öncekiNumber 0 olarak başlatıldı ve nextNumber 1 olarak başlatıldı
- Fibonacci For Döngüsü yinelenir
maxNumber
- Önceki Numarayı göster
- ÖncekiNumber ve nextNumber'ın toplamını hesaplar
- ÖncekiNumber ve nextNumber'ın yeni değerlerini günceller
Fibonacci Dizisi Programı Java While Döngüsünü kullanma
Ayrıca oluşturabilirsiniz Java Fibonacci Serisi kullanılarak While
döngü 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++; } } }
Çıktı:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Program mantığındaki tek fark, Döngü sırasında Fibonacci'yi yazdırmak için Numbers
Kullanıcı Girişine Dayalı Fibonacci Serisi
//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; } } }
Programın Mantığı:
Mantık öncekiyle aynı. Gösterilecek öğe sayısını sabit kodlamak yerine Java Fibonacci Serisinde kullanıcıdan sayı yazması istenir.
Özyinelemeyi Kullanan Fibonacci Serisi Java
Aşağıda Fibonacci serisi programı yer almaktadır. Java özyineleme kullanarak:
//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) +" "); } } }
Çıktı:
Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34
Programın Mantığı:
Özyinelemeli bir işlev, kendisini çağırma yeteneğine sahip olan bir işlevdir.
fibonacciYineleme():
- The Java Fibonacci özyineleme fonksiyonu bir giriş numarası alır. 0, 1, 2'yi kontrol eder ve buna göre 0, 1, 1'i döndürür çünkü Fibonacci dizisi Java 0, 1, 1 ile başlar.
- Giriş n >=3 olduğunda, fonksiyon kendini yinelemeli olarak çağıracaktır. Arama iki kez yapılır. Fibonacci Serisini görelim Java 4 girişi için özyineleme örneğini kullanma.
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
Şimdi sonuç eklendi 0+1+1+0+1=3