Fibonacci Series-programma in Java met behulp van Loops & Herhaling

Inhoudsopgave:

Anonim

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 nummer​int sum = previousNumber + nextNumber;previousNumber = nextNumber;nextNumber = som;​​​
Uitgang:
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
  • 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 nummer​int 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; i  Uitgang: 
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 ():

  1. Neemt een invoernummer. Controleert op 0, 1, 2 en retourneert dienovereenkomstig 0, 1, 1 omdat de Fibonacci-reeks begint met 0, 1, 1.
  2. 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) = 1

Nu wordt het resultaat toegevoegd 0 + 1 + 1 + 0 + 1 = 3