Döngüler & kullanan Java'da Fibonacci Serisi Programı Özyineleme

İçindekiler:

Anonim

Fibonacci Serisi nedir?

Fibonacci serisinde bir sonraki sayı, önceki iki sayının toplamıdır. 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 algoritmanın hesaplama ç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,… 

For Loop kullanarak Java kodu

// Döngü İçin Kullanmakgenel sınıf FibonacciExample {public static void main (String [] değiştirgeler){// Fibonacci Serisinde istediğiniz element sayısına ayarlayınint maxNumber = 10;int previousNumber = 0;int nextNumber = 1;System.out.print ("Fibonacci Serisi" + maxNumber + "sayılar:");for (int i = 1; i <= maxNumber; ++ i){System.out.print (previousNumber + "");/ * Her yinelemede ikinci sayı atıyoruz* ilk sayıya ve son ikisinin toplamını atama* ikinci numaraya kadar sayılar* /int sum = previousNumber + nextNumber;previousNumber = nextNumber;nextNumber = toplam;}}}
Çıktı:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Program Mantığı:
  • previousNumber 0 olarak başlatılır ve nextNumber 1 olarak başlatılır
  • Döngü için maxNumber
    • Önceki numarayı göster
    • PreviousNumber ve nextNumber'ın toplamını hesaplar
    • PreviousNumber ve nextNumber'ın yeni değerlerini günceller

While Loop kullanarak Java kodu

Ayrıca Fibonacci Serisini bir

While Java'da döngü.
// Döngü Halinde Kullanmakgenel sınıf FibonacciWhileExample {public static void main (String [] değiştirgeler){int maxNumber = 10, previousNumber = 0, nextNumber = 1;System.out.print ("Fibonacci Serisi" + maxNumber + "sayılar:");int i = 1;while (i <= maxNumber){System.out.print (previousNumber + "");int sum = previousNumber + nextNumber;previousNumber = nextNumber;nextNumber = toplam;i ++;}}}
Çıktı:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34

Program mantığındaki tek fark, Fibonacci Sayılarını yazdırmak için WHILE Döngüsünün kullanılmasıdır.

Kullanıcı Girişine Dayalı Fibonacci Serisi

// kullanıcı girdisine dayalı fibonacci serisijava.util.Scanner'ı içe aktarın;genel sınıf FibonacciExample {public static void main (String [] değiştirgeler){int maxNumber = 0;int previousNumber = 0;int nextNumber = 1;System.out.println ("Fibonacci'de kaç sayı istiyorsunuz:");Tarayıcı tarayıcı = yeni Tarayıcı (System.in);maxNumber = tarayıcı.nextInt ();System.out.print ("Fibonacci Serisi" + maxNumber + "sayılar:");for (int i = 1; i <= maxNumber; ++ i){System.out.print (previousNumber + "");/ * Her yinelemede ikinci sayı atıyoruz* ilk sayıya ve son ikisinin toplamını atama* ikinci numaraya kadar sayılar* /int sum = previousNumber + nextNumber;previousNumber = nextNumber;nextNumber = toplam;}}}
Program Mantığı:

Mantık öncekiyle aynı. Fibonacci Serisinde gösterilecek eleman sayısını kodlamak yerine kullanıcıdan sayı yazması istenir.

Özyineleme kullanan Java kodu

// Özyinelemeyi Kullanmapublic class FibonacciCalc {public static int fibonacciRecursion (int n) {eğer (n == 0) {dönüş 0;}eğer (n == 1 || n == 2) {dönüş 1;}dönüş fibonacciRecursion (n-2) + fibonacciRecursion (n-1);}public static void main (String args []) {int maxNumber = 10;System.out.print ("Fibonacci Serisi" + maxNumber + "sayılar:");for (int i = 0; i  Çıktı: 
Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34
Program Mantığı:

Özyinelemeli işlev, kendisini çağırma yeteneğine sahip olandır.

fibonacci Geri dönüş ():

  1. Bir giriş numarası alır. 0, 1, 2'yi kontrol eder ve buna göre 0, 1, 1 döndürür çünkü Fibonacci dizisi 0, 1, 1 ile başlar.
  2. Giriş n> = 3 olduğunda, işlev kendini yinelemeli olarak arayacaktır. Çağrı iki kez yapılır. 4 girişi için bir örnek görelim.
fibonacciRecursion (4)It will recursively call fibonacciRecursion function for values 2 and 3fibonacciRecursion (2) \\ call for value 0 and 1fibonacciRecursion (0) = 0fibonacciRecursion (1) = 1fibonacciRecursion (3) \\ It will call for 1 and 2fibonacciRecursion (1) = 1fibonacciRecursion (2) \\ It will call for 0 and 1fibonacciRecursion (0) = 0fibonacciRecursion (1) = 1

Şimdi sonuç 0 + 1 + 1 + 0 + 1 = 3 eklendi