Programm der Fibonacci-Serie in Java mit Loops & Rekursion

Inhaltsverzeichnis:

Anonim

Was ist die Fibonacci-Serie?

In der Fibonacci-Reihe ist die nächste Zahl die Summe der beiden vorherigen Zahlen. Die ersten beiden Zahlen der Fibonacci-Reihen sind 0 und 1.

Die Fibonacci-Zahlen werden in der rechnergestützten Laufzeitstudie des Algorithmus verwendet, um den größten gemeinsamen Teiler zweier Ganzzahlen zu bestimmen. In der Arithmetik ist das Wythoff-Array eine unendliche Matrix von Zahlen, die sich aus der Fibonacci-Sequenz ergibt.

The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21,… 

Java-Code mit For Loop

// For-Schleife verwendenöffentliche Klasse FibonacciExample {public static void main (String [] args){// Setze es auf die Anzahl der Elemente, die du in der Fibonacci-Serie haben willstint maxNumber = 10;int previousNumber = 0;int nextNumber = 1;System.out.print ("Fibonacci-Reihe von" + maxNumber + "-Nummern:");für (int i = 1; i <= maxNumber; ++ i){System.out.print (previousNumber + "");/ * Bei jeder Iteration weisen wir eine zweite Nummer zu* auf die erste Zahl und Zuweisung der Summe der letzten beiden* Zahlen zur zweiten Zahl* /int sum = previousNumber + nextNumber;previousNumber = nextNumber;nextNumber = sum;}}}}}}
Ausgabe:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Programmlogik:
  • previousNumber wird auf 0 und nextNumber auf 1 initialisiert
  • For Loop durchläuft maxNumber
    • Zeigen Sie die vorherige Nummer an
    • Berechnet die Summe aus vorheriger und nächster Nummer
    • Aktualisiert die neuen Werte von previousNumber und nextNumber

Java-Code mit While-Schleife

Sie können Fibonacci-Serien auch mit a generieren

While Schleife in Java.
// Verwenden der While-Schleifeöffentliche Klasse FibonacciWhileExample {public static void main (String [] args){int maxNumber = 10, previousNumber = 0, nextNumber = 1;System.out.print ("Fibonacci-Reihe von" + maxNumber + "-Nummern:");int i = 1;while (i <= maxNumber){System.out.print (previousNumber + "");int sum = previousNumber + nextNumber;previousNumber = nextNumber;nextNumber = sum;i ++;}}}}}}
Ausgabe:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34

Der einzige Unterschied in der Programmlogik besteht in der Verwendung der WHILE-Schleife zum Drucken von Fibonacci-Zahlen

Fibonacci-Serie basierend auf der Benutzereingabe

// Fibonacci-Serie basierend auf der Benutzereingabeimport java.util.Scanner;öffentliche Klasse FibonacciExample {public static void main (String [] args){int maxNumber = 0;int previousNumber = 0;int nextNumber = 1;System.out.println ("Wie viele Zahlen möchten Sie in Fibonacci:");Scanner Scanner = neuer Scanner (System.in);maxNumber = scanner.nextInt ();System.out.print ("Fibonacci-Reihe von" + maxNumber + "-Nummern:");für (int i = 1; i <= maxNumber; ++ i){System.out.print (previousNumber + "");/ * Bei jeder Iteration weisen wir eine zweite Nummer zu* auf die erste Zahl und Zuweisung der Summe der letzten beiden* Zahlen zur zweiten Zahl* /int sum = previousNumber + nextNumber;previousNumber = nextNumber;nextNumber = sum;}}}}}}
Programmlogik:

Die Logik ist dieselbe wie zuvor. Anstatt die Anzahl der Elemente, die in der Fibonacci-Serie angezeigt werden sollen, fest zu codieren, wird der Benutzer aufgefordert, die Anzahl zu schreiben.

Java-Code mit Rekursion

// Rekursion verwendenöffentliche Klasse 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-Reihe von" + maxNumber + "-Nummern:");für (int i = 0; i  Ausgabe: 
Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34
Programmlogik:

Eine rekursive Funktion kann sich selbst aufrufen.

fibonacciRecursion ():

  1. Nimmt eine eingegebene Nummer. Überprüft auf 0, 1, 2 und gibt entsprechend 0, 1, 1 zurück, da die Fibonacci-Sequenz mit 0, 1, 1 beginnt.
  2. Wenn die Eingabe n> = 3 ist, ruft sich die Funktion rekursiv auf. Der Anruf wird zweimal getätigt. Sehen wir uns ein Beispiel für die Eingabe von 4 an.
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

Jetzt wird das Ergebnis 0 + 1 + 1 + 0 + 1 = 3 hinzugefügt