Wat is de Fibonacci-serie?
In de Fibonacci-reeks is het volgende getal de som van de vorige twee getallen. De eerste twee cijfers van Fibonacci-reeksen zijn 0 en 1.
De Fibonacci-getallen worden significant gebruikt in de computationele runtime-studie van algoritmen om de grootste gemene deler van twee gehele getallen te bepalen. In rekenkunde is de Wythoff-array 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,…
Java-code met For Loop
// Gebruiken van For Loopopenbare klasse FibonacciExample {public static void main (String [] args)// Stel het in op het aantal elementen dat u wilt in de Fibonacci-serieint maxNumber = 10;int previousNumber = 0;int nextNumber = 1;System.out.print ("Fibonacci-reeks van" + maxNumber + "nummers:");voor (int i = 1; i <= maxNumber; ++ i)System.out.print (previousNumber + "");/ * Bij elke iteratie wijzen we een tweede nummer toe* aan het eerste cijfer en het toekennen van de som van de laatste twee* nummers naar het tweede nummerint sum = previousNumber + nextNumber;previousNumber = nextNumber;nextNumber = som;Uitgang:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34Programmalogica:
- previousNumber wordt geïnitialiseerd op 0 en nextNumber wordt geïnitialiseerd op 1
- For Loop herhaalt zich
maxNumber
- Geef het vorige nummer weer
- Berekent de som van previousNumber en nextNumber
- Werkt nieuwe waarden van previousNumber en nextNumber bij
Java-code met While Loop
U kunt ook Fibonacci-reeksen genereren met een
While
lus in Java.
// While Loop gebruikenopenbare klasse FibonacciWhileExample {public static void main (String [] args)int maxNumber = 10, previousNumber = 0, nextNumber = 1;System.out.print ("Fibonacci-reeks van" + maxNumber + "nummers:");int i = 1;while (i <= maxNumber)System.out.print (previousNumber + "");int sum = previousNumber + nextNumber;previousNumber = nextNumber;nextNumber = som;i ++;Uitgang:
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-serie op basis van de gebruikersinvoer
// fibonacci-serie op basis van de gebruikersinvoerimporteer java.util.Scanner;openbare klasse FibonacciExample {public static void main (String [] args)int maxNumber = 0;int previousNumber = 0;int nextNumber = 1;System.out.println ("Hoeveel getallen u wilt in Fibonacci:");Scannerscanner = nieuwe scanner (System.in);maxNumber = scanner.nextInt ();System.out.print ("Fibonacci-reeks van" + maxNumber + "nummers:");voor (int i = 1; i <= maxNumber; ++ i)System.out.print (previousNumber + "");/ * Bij elke iteratie wijzen we een tweede nummer toe* aan het eerste cijfer en het toekennen van de som van de laatste twee* nummers naar het tweede nummerint sum = previousNumber + nextNumber;previousNumber = nextNumber;nextNumber = som;Programmalogica:
De logica is hetzelfde als eerder. In plaats van het aantal te tonen elementen in de Fibonacci-reeks hard te coderen, wordt de gebruiker gevraagd een nummer te schrijven.
Java-code met behulp van recursie
// Recursie gebruikenopenbare klasse FibonacciCalc {openbare statische int fibonacciRecursion (int n) {if (n == 0) {retourneer 0;if (n == 1 || n == 2) {terugkeer 1;retourneer fibonacciRecursion (n-2) + fibonacciRecursion (n-1);public static void main (String args []) {int maxNumber = 10;System.out.print ("Fibonacci-reeks van" + maxNumber + "nummers:");voor (int i = 0; iUitgang: Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34Programmalogica:Een recursieve functie is een functie die zichzelf kan aanroepen.
fibonacciRecursion ():
- Neemt een invoernummer. Controleert op 0, 1, 2 en retourneert dienovereenkomstig 0, 1, 1 omdat de Fibonacci-reeks begint met 0, 1, 1.
- Als invoer n> = 3 is, roept de functie zichzelf recursief aan. De oproep wordt twee keer gedaan. Laten we een voorbeeld bekijken voor invoer van 4.
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) = 1Nu wordt het resultaat toegevoegd 0 + 1 + 1 + 0 + 1 = 3