Fibonacci -sarjaohjelma Java-käyttöjärjestelmässä käyttämällä silmukoita ja amp; Rekursio

Sisällysluettelo:

Anonim

Mikä on Fibonacci-sarja?

Fibonacci-sarjassa seuraava luku on kahden edellisen numeron summa. Fibonacci-sarjan kaksi ensimmäistä numeroa ovat 0 ja 1.

Fibonacci-lukuja käytetään merkittävästi algoritmin laskennallisessa ajonaikaisessa tutkimuksessa kahden kokonaisluvun suurimman yhteisen jakajan määrittämiseksi. Aritmeettisesti Wythoff-taulukko on Fibonacci-sekvenssistä johtuva ääretön matriisi.

The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21,… 

Java-koodi For Loop -sovelluksella

// Käyttämällä silmukkaajulkinen luokka FibonacciExample {public staattinen void main (String [] väittää){// Aseta se haluamaasi määrään elementtejä Fibonacci-sarjassaint maxLuku = 10;int edellinenLuku = 0;int seuraavaLuku = 1;System.out.print ("Fibonacci-sarja" + maxNumber + "-numeroita:");for (int i = 1; i <= maxNumber; ++ i){System.out.print (edellinenLuku + "");/ * Jokaiselle iteraatiolle annamme toisen numeron* ensimmäiseen numeroon ja määrittämällä kahden viimeisen summan* numerot toiseen numeroon* /int summa = edellinenLuku + seuraavaNumero;edellinenLuku = seuraavaNumero;seuraavaNumero = summa;}}}
Tuotos:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Ohjelmalogiikka:
  • previousNumber alustetaan arvoon 0 ja nextNumber alustetaan arvoon 1
  • Sillä silmukka toistaa läpi maxNumber
    • Näytä edellinen numero
    • Laskee edellisen ja seuraavan numeron summan
    • Päivittää edellisen ja seuraavan numeron uudet arvot

Java-koodi While Loop -toiminnon avulla

Voit myös luoda Fibonacci-sarjan käyttämällä a

While silmukka Java.
// Loop-toiminnon käyttäminenjulkinen luokka FibonacciWhileExample {public staattinen void main (String [] väittää){int maxNumber = 10, previousNumber = 0, nextNumber = 1;System.out.print ("Fibonacci-sarja" + maxNumber + "-numeroita:");int i = 1;kun (i <= maxNumber){System.out.print (edellinenLuku + "");int summa = edellinenLuku + seuraavaNumero;edellinenLuku = seuraavaNumero;seuraavaNumero = summa;i ++;}}}
Tuotos:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34

Ainoa ero ohjelmalogiikassa on WHILE Loop -sovelluksen käyttö Fibonacci-numeroiden tulostamiseen

Fibonacci-sarja käyttäjän syötteen perusteella

// fibonacci -sarja käyttäjän syötteen perusteellatuo java.util.Scanner;julkinen luokka FibonacciExample {public staattinen void main (String [] väittää){int maxLuku = 0;int edellinenLuku = 0;int seuraavaLuku = 1;System.out.println ("Kuinka monta numeroa haluat Fibonaccissa:");Skanneriskanneri = uusi skanneri (System.in);maxNumber = skanneri.nextInt ();System.out.print ("Fibonacci-sarja" + maxNumber + "-numeroita:");for (int i = 1; i <= maxNumber; ++ i){System.out.print (edellinenLuku + "");/ * Jokaiselle iteraatiolle annamme toisen numeron* ensimmäiseen numeroon ja määrittämällä kahden viimeisen summan* numerot toiseen numeroon* /int summa = edellinenLuku + seuraavaNumero;edellinenLuku = seuraavaNumero;seuraavaNumero = summa;}}}
Ohjelmalogiikka:

Logiikka on sama kuin aikaisemmin. Fibonacci-sarjassa näytettävien elementtien määrän kovakoodaamisen sijaan käyttäjää pyydetään kirjoittamaan numero.

Java-koodi käyttämällä rekursiota

// Rekursiota käyttämälläjulkinen luokka FibonacciCalc {julkinen staattinen int fibonacciRecursion (int n) {jos (n == 0) {paluu 0;}jos (n == 1 || n == 2) {paluu 1;}paluu fibonacciRecursion (n-2) + fibonacciRecursion (n-1);}public staattinen void main (String args []) {int maxLuku = 10;System.out.print ("Fibonacci-sarja" + maxNumber + "-numeroita:");for (int i = 0; i  Tuotos: 
Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34
Ohjelmalogiikka:

Rekursiivinen toiminto on toiminto, jolla voi soittaa itseään.

fibonacciRecursion ():

  1. Ottaa syötetyn numeron. Tarkistaa arvot 0, 1, 2 ja palauttaa arvot 0, 1, 1 vastaavasti, koska Fibonacci-sekvenssi alkaa luvuilla 0, 1, 1.
  2. Kun tulo n on> = 3, toiminto kutsuu itseään rekursiivisesti. Puhelu soitetaan kaksi kertaa. Katsotaanpa esimerkki 4: n syötteestä.
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

Nyt tulos lisätään 0 + 1 + 1 + 0 + 1 = 3