Fibonacci jada C++

Fibonacci Jada C



Fibonacci jada/jada on arvude jada, mis tekib siis, kui järgmine arv saadakse rea kahe viimase arvu summaga. Esimesed kaks numbrit on alati 0 ja 1. Fibonacci seeriat saab hankida mis tahes programmeerimiskeeles, kuid siin rakendame lähtekoodi C++ programmeerimiskeeles. Matemaatikas selgitatakse Fibonacci jada näidisvalemiga rekursioonirelatsiooni kaudu.

Fn = Fn-1 + Fn-2

See õpetus sisaldab erinevaid metoodikaid Fibonacci numbrite jada loomiseks.







Näide 1



Selles näites kasutatakse esiteks sisend- ja väljundvoogude teeki, et võimaldada cin- ja cout-voogusid, ning selle teegi kaudu julgustatakse ka kasutaja kaasamist. Põhiprogrammi sees võtame kaks täisarvu tüüpi muutujat ja deklareerime neile nullväärtuse. Kasutatakse ka teist järgmise termini muutujat, mis lähtestatakse nullina ja asetatakse hilisemaks kasutamiseks. Palume kasutajal sisestada Fibonacci seeriasse number, mida ta vajab. Teisisõnu sõltub väljundina kuvatavate ridade arv kasutaja sisendist. Konkreetne number, mille kasutaja sisestab, sisaldab nendel ridadel vastust.







Vajame for-silmust, et itereerida kuni selle konkreetse numbrini, mille kasutaja sisestab jada arvutamiseks. See on omamoodi piir mitme reaga. Numbri kontrollimiseks kasutatakse if-lauset; kui see on üks, siis kuvage see ilma muudatusteta. Samamoodi kuvatakse teine ​​number. Fibonacci jadas kuvatakse kaks esimest numbrit. Edasi jätkamiseks oleme kasutanud jätkamislauset. Seeria edasiseks arvutamiseks liidame mõlemad väärtused. Ja sellest saab sarja kolmas number. Pärast seda vahetusprotsessi algust omistatakse esimesele muutujale teise muutuja väärtus ja teine ​​muutuja sisaldab kolmandat väärtust, mis on salvestatud järgmise tähtajaga muutujasse.

Järgmine termin = t1 + t2;



T1 = t2;

T2 = järgmine termin;

Nüüd kuvatakse iga väärtus komadega eraldatuna. Käivitage kood kompilaatori kaudu. '-o' kasutatakse sisendfailis oleva koodi väljundi salvestamiseks.

$ g++ -O fib fib.c
$ . / fib

Näete, et programmi käivitamisel palub kasutaja sisestada tema poolt sisestatud numbri 7, siis on tulemuseks 7 rida, olenemata sellest, millisel hetkel on Fibonacci seeria jõudnud 7. punkti.

Näide 2

See näide sisaldab Fibonacci seeria arvutamist, piirates järgmise termini väärtust. See tähendab, et Fibonacci seeriat saab kohandada, pakkudes kindlaksmääratud arvu, millises ulatuses soovite. Erinevalt eelmisest näitest ei sõltu tulemus mitte ridade arvust, vaid arvuga antud seeriate arvust. Alustame põhiprogrammist, muutujad on samad ja ka kasutaja kaasamise lähenemine on sama. Nii et kaks esimest muutujat lähtestatakse alguses nulliks, järgmise liikme muutuja deklareeritakse nulliks. Seejärel sisestab kasutaja numbri. Seejärel kuvatakse kaks esimest terminit, mis on alati 0 ja 1.

Järgmise termini väärtusele omistatakse väärtus, mis saadakse kahes esimeses muutujas esinevate numbrite liitmisel. Siin kasutatakse tsüklit while, et rakendada seeria loomise tingimust, kuni järgmise termini muutuja väärtus on võrdne kasutaja antud arvuga või sellest väiksem.

Kuigi (järgmine termin <= n)

Selle while-tsükli sees rakendatakse loogikat, vahetades numbreid tagurpidi. Järgmise termini muutuja lisab uuesti muutujate väärtused.

Järgmine termin = t1 + t2;

Nüüd salvestage fail ja kompileerige see koodi käivitamiseks terminalis.

Kui käivitate koodi, nõuab süsteem teilt numbrit, mis peab olema positiivne. Siis näete, et arvutamisel kuvatakse arvude jada kuni 55. numbrini.

Näide 3

See lähtekood, mida me mainime, sisaldab teistsugust Fibonacci seeria arvutamise meetodit. Siiani oleme seeriaid arvutanud põhiprogrammi sees. See näide kasutab selle numbrijada arvutamiseks eraldi funktsiooni. Funktsiooni sees tehakse protsessi jätkamiseks rekursiivne kõne. Seega on see ka näide rekursioonist. Funktsioon võtab parameetris oleva arvu, milleni seeria arvutatakse. See number saadetakse põhiprogrammist. Kui-lauset kasutatakse selleks, et kontrollida, kas arv on väiksem või võrdne 1-ga, siis tagastage arv ise, sest seeria arvutamiseks on vaja vähemalt kahte arvu. Teisel juhul, kui tingimus muutub vääraks ja arv on suurem kui 1, arvutage seeria, kasutades korduvalt funktsiooni enda rekursiivset kutset.

Fib (n-1) + fib (n-2);

See näitab, et esimeses osas, üks arv enne koguarvu funktsioonile edastamist, lahutatakse see väärtus lahtrist saadud arvust, mis sisaldab parameetrina kahte koguarvule eelnevat arvu.

Nüüd põhiprogrammis määratakse muutujale number ja esimene funktsioonikutse tehakse numbri edastamiseks funktsioonile. Nüüd käivitage vastuse saamiseks faili lähtekood terminalis. Siin näete, et vastus on '13', kuna sisestatud number oli 7, seega on seeria 0+1+1+2+3+5+8+13.

Näide 4

See näide hõlmab Fibonacci seeria arvutamisel OOP-i (objektorienteeritud programmeerimise) lähenemisviisi. Luuakse klass GFG. Selle avalikus osas luuakse funktsioon massiivi jaoks, mis salvestab Fibonacci seeriad.

F [n +2];

Siin on n arv, mis on alguses deklareeritud kui 0.

F[0] = 0;

F[1] = 1;

Indeksi 0 ja 1 numbrid deklareeritakse kui 0 ja 1.

Pärast seda kasutatakse 'for' tsüklit, milles arvutatakse Fibonacci seeria. Kaks eelmist numbrit lisatakse seeriale ja salvestatakse.

F[i] = f[i-1] + f[i-2];

Pärast seda tagastatakse konkreetse indeksi konkreetne arv.

Funktsioonikutse tehakse objekti kasutades.

g.fib(n);

Nüüd käivitage kood ja näete, et kuna number on 11, on jada kuni 11. numbrini.

Järeldus

See artikkel „Fibonacci jada C++” on segu erinevatest lähenemisviisidest, mida kasutatakse jada loomiseks, lisades kaks eelmist numbrit. Lihtsa vahetustehnikaga saame lisaks rekursioonmeetodile ja massiivide abil genereerida need arvud järjestikku. Fibonacci seeria loomiseks on soovitatav andmetüüp täisarvudes. Seeriaid saame arvutada, rakendades piiranguid ridade arvule ja jada arvule.