Fibonacci-sekvens C++

Fibonacci Sekvens C



Fibonacci-serien/sekvensen er en tallrekke som skapes når neste tall er oppnådd ved å ha en sum av de to siste tallene i en serie. De to første tallene er alltid 0 og 1. Fibonacci-serien kan fås i et hvilket som helst programmeringsspråk, men her vil vi bruke kildekoden i programmeringsspråket C++. I matematikk er sekvensen til Fibonacci forklart gjennom rekursjonsrelasjon med en eksempelformel.

Fn = Fn-1 + Fn-2

Denne opplæringen vil inneholde forskjellige metoder for å lage en sekvens av Fibonacci-tall.







Eksempel 1



I dette eksemplet brukes først biblioteket med inngangs- og utdatastrømmer for å aktivere cin- og cout-strømmene, pluss at brukerens involvering også oppmuntres gjennom dette biblioteket. Inne i hovedprogrammet vil vi ta to heltallsvariabler og erklære dem nullverdi. En annen nextterm-variabel brukes også som initialiseres som null og plasseres for senere bruk. Vi vil be brukeren angi et nummer han trenger i Fibonacci-serien. Med andre ord, antall linjer som vises som utdata avhenger av brukerens input. Det spesifikke nummeret brukeren vil angi, vil resultatet inneholde svaret på disse linjene.







Vi trenger en 'for'-løkke for å iterere opp til det spesifikke tallet som brukeren skriver inn for å beregne sekvensen. Dette er en slags grense med flere linjer. En if-setning brukes til å kontrollere nummeret; hvis det er en, så vis den som den er uten endringer. På samme måte vil det andre tallet vises på samme måte. I Fibonacci-sekvensen vises de to første tallene. For å gå videre har vi brukt fortsett-erklæringen. For å beregne serien videre, legger vi til begge verdiene. Og dette blir det tredje nummeret i rekken. Etter at bytteprosessen starter, vil den første variabelen bli tildelt verdien til den andre variabelen, og den andre variabelen vil inneholde den tredje verdien som er lagret i den neste term-variabelen.

Nextterm = t1 + t2;



T1 = t2;

T2 =neste ledd;

Nå vises hver verdi atskilt med komma. Kjør koden gjennom en kompilator. '-o' brukes til å lagre utdataene til koden som er tilstede i inndatafilen.

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

Du kan se at når programmet kjøres, vil brukeren be om å skrive inn tallet han har skrevet inn 7, så blir resultatet på 7 linjer, uansett på hvilket tidspunkt Fibonacci-serien har nådd det 7. punktet.

Eksempel 2

Dette eksemplet vil inneholde beregningen av Fibonacci-serien ved å begrense nestetermverdien. Dette betyr at Fibonacci-serien kan tilpasses ved å oppgi et spesifisert antall i hvilken grad du ønsker. I motsetning til forrige eksempel avhenger resultatet ikke av antall linjer, men antall serier gitt av et tall. Vi vil ta utgangspunkt i hovedprogrammet, variablene er de samme, og tilnærmingen til brukerinvolvering er den samme. Så de to første variablene initialiseres som null ved starten, den neste term-variabelen blir erklært null. Deretter vil brukeren taste inn nummeret. De to første leddene vises da som alltid er 0 og 1.

Den neste termverdien vil bli tildelt verdien oppnådd ved å legge til tallene som er tilstede i de to første variablene. Her brukes en while-løkke for å bruke en betingelse for å lage serien til verdien i den neste term-variabelen er lik eller mindre enn tallet som brukeren oppgir.

Mens (neste ledd <= n)

Inne i denne mens-løkken vil logikken bli brukt ved å bytte tallene i retning bakover. Nextterm-variabelen vil igjen legge til verdiene til variabler.

Nextterm = t1 + t2;

Lagre nå filen og kompiler den for å kjøre koden i terminalen.

Når du kjører koden, vil systemet kreve et tall fra deg som må være et positivt tall. Da vil du se at ved beregning vises en serie med tall til det 55. tallet.

Eksempel 3

Denne kildekoden som vi vil nevne vil inneholde en annen metode for å beregne Fibonacci-serien. Til nå har vi beregnet serien inne i hovedprogrammet. Dette eksemplet bruker involvering av en egen funksjon for å beregne denne tallrekkefølgen. Inne i funksjonen foretas et rekursivt anrop for å fortsette prosessen. Derfor er det også et eksempel på rekursjon. Funksjonen vil ta tallet i parameteren, opp til som serien skal beregnes. Dette nummeret sendes fra hovedprogrammet. En if-setning brukes til å sjekke om tallet er mindre enn eller lik 1, og returner deretter selve tallet fordi vi trenger minimum to tall for å beregne serien. I det andre tilfellet, når betingelsen blir usann og tallet er større enn 1, beregner du serien ved å gjentatte ganger bruke et rekursivt kall til selve funksjonen.

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

Dette viser at i den første delen, ett tall før det totale tallet sendes til funksjonen, vil denne verdien trekkes fra tallet hentet fra cellen som inneholder to tall før det totale antallet som en parameter.

Nå i hovedprogrammet blir nummeret tilordnet variabelen, og det første funksjonsanropet gjøres for å sende nummeret til funksjonen. Kjør nå filens kildekode i terminalen for å få svaret. Her vil du se at ’13’ er svaret, siden tallet som ble skrevet inn var 7, så serien vil være 0+1+1+2+3+5+8+13.

Eksempel 4

Dette eksemplet involverer OOP-tilnærmingen (objektorientert programmering) for å beregne Fibonacci-serien. En klasse GFG opprettes. I den offentlige delen er det laget en funksjon for å ha en array som skal lagre Fibonacci-serien.

F [n+2];

Her er n tallet som er deklarert som 0 ved starten.

F[0] = 0;

F[1] = 1;

Tallene ved indeks 0 og 1 er deklarert som 0 og 1.

Deretter brukes en 'for'-løkke der Fibonacci-serien vil bli beregnet. De to foregående numrene legges til serien og vil bli lagret.

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

Etter det returneres det spesifikke tallet ved en bestemt indeks.

Et funksjonskall gjøres ved å bruke objektet.

g.fib(n);

Utfør nå koden, og du vil se at siden tallet er 11, vil sekvensen være til det 11. sifferet.

Konklusjon

Denne artikkelen 'Fibonacci-sekvens C++' er en blanding av forskjellige tilnærminger som brukes til å lage en sekvens ved å legge til de to foregående tallene. Med en enkel bytteteknikk, i tillegg til rekursjonsmetoden og ved hjelp av arrays, kan vi generere disse tallene i serier. For å lage Fibonacci-serien, anbefales tallene å være i heltallsdatatype. Vi kan beregne serien ved å bruke begrensninger på antall linjer og antall sekvenser.