Fibonacci-serie in Java met behulp van het programma voor recursie en lussen
Wat is de Fibonacci-reeks in Java?
Een Fibonacci-reeks 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 significant 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-array een oneindige matrix van getallen die het resultaat is van de Fibonacci-reeks.
The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
- Wat is de Fibonacci-reeks in Java?
- Fibonacci Series-programma in Java met For Loop
- Fibonacci Series-programma in Java met While Loop
- Fibonacci-reeks met recursie in Java
Fibonacci Series-programma in Java met For Loop
//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; } } }
Uitvoer:
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 herhaalt zich door
maxNumber
- Toon het vorige nummer
- Berekent de som van previousNumber en nextNumber
- Updatet nieuwe waarden van previousNumber en nextNumber
Fibonacci Series-programma in Java met While Loop
U kunt ook Java Fibonacci-serie genereren met een 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++; } } }
Uitvoer:
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 WHILE Loop om Fibonacci-nummers af te drukken
Fibonacci-reeks op basis van 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 hetzelfde als eerder. In plaats van het aantal elementen dat moet worden weergegeven in Java Fibonacci Series hard te coderen, wordt de gebruiker gevraagd om een nummer te schrijven.
Fibonacci-reeks met behulp van recursie in Java
Hieronder staat een Fibonacci-serieprogramma in Java dat recursie gebruikt:
//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) +" "); } } }
Uitvoer:
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.
fibonacciRecursion():
- De Java Fibonacci-recursiefunctie heeft een invoernummer. Controleert op 0, 1, 2 en retourneert overeenkomstig 0, 1, 1 omdat de Fibonacci-reeks in Java begint met 0, 1, 1.
- Als invoer n>=3 is, roept de functie zichzelf recursief aan. Er wordt twee keer gebeld. Laten we de Fibonacci-serie in Java bekijken 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 toegevoegd 0+1+1+0+1=3
Java
- Java Hallo Wereld-programma
- Java-variabelen en -letters
- Java-uitdrukkingen, verklaringen en blokken
- Java-klasse en objecten
- Java abstracte klasse en abstracte methoden
- Java geneste en innerlijke klasse
- Java worp en worpen
- Java autoboxing en unboxing
- Java-programma om priemgetal te controleren
- Armstrong-nummer in JAVA-programma met For Loop
- Een tekenreeks in Java omkeren met behulp van recursie