Fibonacci-reeks in Java met behulp van het Recursie- en Loops-programma
Wat is de Fibonacci-reeks? Java?
A Fibonacci-serie in Java is een reeks getallen waarin het volgende getal de som is van de vorige twee getallen. De eerste twee getallen van de Fibonacci-reeks zijn 0 en 1. De Fibonacci-getallen worden veel gebruikt in de computationele runtime-studie van een algoritme om de grootste gemene deler van twee gehele getallen te bepalen.
In de rekenkunde is de Wythoff-matrix een oneindige matrix van getallen die het resultaat zijn van de Fibonacci-reeks.
The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
Fibonacci Series-programma in Java met behulp van For-lus
//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; } } }
Output:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Programmalogica:
- previousNumber wordt geïnitialiseerd op 0 en nextNumber wordt geïnitialiseerd op 1
- De Fibonacci For Loop itereert door
maxNumber
- Geef het vorige nummer weer
- Berekent de som van previousNumber en nextNumber
- Werkt nieuwe waarden van previousNumber en nextNumber bij
Fibonacci Series-programma in Java gebruik van While-lus
Je kunt ook genereren Java Fibonacci-reeks met behulp van a While
lus in 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++; } } }
Output:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Het enige verschil in de programmalogica is het gebruik van Herhalingslus om Fibonacci af te drukken Numbers
Fibonacci-serie gebaseerd op de gebruikersinvoer
//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; } } }
Programmalogica:
De logica is dezelfde als eerder. In plaats van het aantal elementen dat moet worden weergegeven, hard te coderen Java Fibonacci-serie, wordt de gebruiker gevraagd een nummer te schrijven.
Fibonacci-reeks met behulp van recursie in Java
Hieronder staat een programma uit de Fibonacci-reeks Java met behulp van recursie:
//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) +" "); } } }
Output:
Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34
Programmalogica:
Een recursieve functie is een functie die zichzelf kan aanroepen.
fibonacciRecursie():
- De Java De Fibonacci-recursiefunctie heeft een invoernummer nodig. Controleert op 0, 1, 2 en retourneert dienovereenkomstig 0, 1, 1 omdat de Fibonacci-reeks in Java begint met 0, 1, 1.
- Wanneer invoer n >=3 is, zal de functie zichzelf recursief aanroepen. Er wordt twee keer gebeld. Laten we de Fibonacci-reeks eens bekijken Java met behulp van een recursievoorbeeld voor invoer van 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
Nu wordt het resultaat opgeteld 0+1+1+0+1=3