Fibonacci-Reihe in Java mit Rekursion und Schleifen Programm
Was ist die Fibonacci-Reihe in Java?
A Fibonacci-Serie in Java ist eine Zahlenreihe, bei der die nächste Zahl die Summe der beiden vorhergehenden Zahlen ist. Die ersten beiden Zahlen der Fibonacci-Reihe sind 0 und 1. Die Fibonacci-Zahlen werden vor allem bei der rechnerischen Laufzeituntersuchung eines Algorithmus verwendet, um den größten gemeinsamen Teiler zweier ganzer Zahlen zu bestimmen.
In der Arithmetik ist das Wythoff-Array eine unendliche Matrix von Zahlen, die aus der Fibonacci-Folge resultieren.
The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
Fibonacci-Reihenprogramm in Java Verwenden einer For-Schleife
//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; } } }
Ausgang:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Programmlogik:
- previousNumber wird auf 0 initialisiert und nextNumber wird auf 1 initialisiert
- Die Fibonacci-For-Schleife iteriert durch
maxNumber
- Zeigt die previousNumber an
- Berechnet die Summe von previousNumber und nextNumber
- Aktualisiert neue Werte von previousNumber und nextNumber
Fibonacci-Reihenprogramm in Java Verwenden der While-Schleife
Sie können auch generieren Java Fibonacci-Reihe mit einem While
einhängen 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++; } } }
Ausgang:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Der einzige Unterschied in der Programmlogik ist die Verwendung von While-Schleife Fibonacci drucken Numbers
Fibonacci-Reihe basierend auf der Benutzereingabe
//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; } } }
Programmlogik:
Die Logik ist dieselbe wie zuvor. Anstatt die Anzahl der anzuzeigenden Elemente fest zu codieren Java Fibonacci-Reihe, der Benutzer wird aufgefordert, eine Zahl einzugeben.
Fibonacci-Reihe mit Rekursion in Java
Unten sehen Sie ein Fibonacci-Reihenprogramm in Java mit Rekursion:
//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) +" "); } } }
Ausgang:
Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34
Programmlogik:
Eine rekursive Funktion ist eine Funktion, die sich selbst aufrufen kann.
fibonacciRecursion():
- Die Java Die Fibonacci-Rekursionsfunktion nimmt eine Eingabezahl an. Überprüft auf 0, 1, 2 und gibt dementsprechend 0, 1, 1 zurück, da die Fibonacci-Folge in Java beginnt mit 0, 1, 1.
- Wenn die Eingabe n >=3 ist, ruft sich die Funktion selbst rekursiv auf. Der Aufruf erfolgt zwei Mal. Sehen wir uns die Fibonacci-Reihe in Java Verwendung eines Rekursionsbeispiels für die Eingabe von 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
Jetzt wird das Ergebnis 0+1+1+0+1=3 addiert