Fibonacci-sekvens C++

Fibonacci Sekvens C



Fibonacci-rækken/rækkefølgen er en række tal, der skabes, når det næste tal opnås ved at have en sum af de to sidste tal i en række. De første to tal er altid 0 og 1. Fibonacci-serien kan fås i et hvilket som helst programmeringssprog, men her vil vi anvende kildekoden i programmeringssproget C++. I matematik forklares sekvensen af ​​Fibonacci gennem rekursionsforhold med en prøveformel.

Fn = Fn-1 + Fn-2

Denne tutorial vil indeholde forskellige metoder til at skabe en sekvens af Fibonacci-numre.







Eksempel 1



I dette eksempel bruges først biblioteket af input- og outputstrømme til at aktivere cin- og cout-strømmene, plus at brugerens involvering også opmuntres gennem dette bibliotek. Inde i hovedprogrammet vil vi tage to heltal-type variabler og erklære dem nul værdi. En anden nextterm-variabel bruges også, der initialiseres som nul og placeres til senere brug. Vi vil bede brugeren om at indtaste et nummer, han har brug for i Fibonacci-serien. Med andre ord afhænger antallet af linjer, der vises som output, af brugerens input. Det specifikke tal brugeren indtaster, vil resultatet indeholde svaret i disse linjer.







Vi har brug for en 'for'-løkke til at iterere op til det specifikke tal, som brugeren indtaster for at beregne sekvensen. Dette er en slags grænse med flere linjer. En if-sætning bruges til at kontrollere nummeret; hvis det er en, så vis den som den er uden ændringer. På samme måde vil det andet nummer blive vist på samme måde. I Fibonacci-sekvensen vises de to første tal. For at komme videre har vi brugt fortsæt-erklæringen. For at beregne serien yderligere, vil vi tilføje begge værdier. Og dette bliver det tredje nummer i rækken. Efter at bytteprocessen starter, vil den første variabel blive tildelt værdien af ​​den anden variabel, og den anden variabel vil indeholde den tredje værdi gemt i den næste term variabel.

Næste led = t1 + t2;



T1 = t2;

T2 = næste led;

Nu vises hver værdi adskilt af kommaer. Udfør koden gennem en compiler. '-o' bruges til at gemme outputtet af koden i inputfilen.

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

Du kan se, at når programmet er afviklet, vil brugeren bede om at indtaste det tal, han har indtastet 7, så bliver resultatet på 7 linjer, uanset på hvilket tidspunkt Fibonacci-serien har nået det 7. punkt.

Eksempel 2

Dette eksempel vil indeholde beregningen af ​​Fibonacci-serien ved at begrænse den næste term værdi. Det betyder, at Fibonacci-serien kan tilpasses ved at angive et specificeret antal, i hvilket omfang du ønsker. I modsætning til det foregående eksempel afhænger resultatet ikke af antallet af linjer, men antallet af serier givet af et tal. Vi vil tage udgangspunkt i hovedprogrammet, variablerne er de samme, og tilgangen til brugerinddragelsen er også den samme. Så de to første variable initialiseres som nul i starten, den næste term variabel erklæres nul. Så indtaster brugeren nummeret. De første to led vises derefter, som altid er 0 og 1.

Den næste term-værdi vil blive tildelt den værdi, der opnås ved at tilføje de tal, der er til stede i de to første variable. Her bruges en while-løkke til at anvende en betingelse for at skabe serien, indtil værdien i den næste term variabel er lig med eller mindre end det tal, som brugeren giver.

Mens (næste led <= n)

Inde i denne mens-løkke vil logikken blive anvendt ved at skifte tallene i baglæns retning. Nextterm variabel vil igen tilføje værdierne af variabler.

Næste led = t1 + t2;

Gem nu filen og kompiler den for at udføre koden i terminalen.

Når du kører koden, vil systemet kræve et tal fra dig, der skal være et positivt tal. Så vil du se, at der ved beregning vises en række tal indtil det 55. tal.

Eksempel 3

Denne kildekode, som vi vil nævne, vil indeholde en anden metode til at beregne Fibonacci-serien. Indtil nu har vi beregnet serien inde i hovedprogrammet. Dette eksempel bruger involvering af en separat funktion til at beregne denne talrække. Inde i funktionen foretages et rekursivt kald for at fortsætte processen. Derfor er det også et eksempel på rekursion. Funktionen vil tage tallet i parameteren, op til hvilken rækken skal beregnes. Dette nummer sendes fra hovedprogrammet. En if-sætning bruges til at kontrollere, om tallet er mindre end eller lig med 1, og returner derefter selve tallet, fordi vi skal bruge minimum to tal for at beregne serien. I det andet tilfælde, når betingelsen bliver falsk, og tallet er større end 1, beregnes serien ved gentagne gange at bruge et rekursivt kald til selve funktionen.

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

Dette viser, at i den første del, et tal før det samlede antal overføres til funktionen, vil denne værdi blive trukket fra tallet opnået fra cellen, der indeholder to tal forud for det samlede antal som en parameter.

Nu i hovedprogrammet tildeles tallet til variablen, og det første funktionskald foretages for at videregive tallet til funktionen. Udfør nu filens kildekode i terminalen for at få svaret. Her vil du se, at ’13’ er svaret, da det indtastede tal var 7, så serien bliver 0+1+1+2+3+5+8+13.

Eksempel 4

Dette eksempel involverer OOP (objektorienteret programmering) tilgang til beregning af Fibonacci-serien. En klasse GFG oprettes. I dens offentlige del oprettes en funktion for at have et array, der gemmer Fibonacci-serien.

F [n+2];

Her er n det tal, der er angivet som 0 i starten.

F[0] = 0;

F[1] = 1;

Tallene ved indeks 0 og 1 erklæres som 0 og 1.

Derefter bruges en 'for'-løkke, hvor Fibonacci-serien vil blive beregnet. De to foregående numre føjes til serien og vil blive gemt.

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

Derefter returneres det specifikke tal ved et bestemt indeks.

Et funktionskald foretages ved at bruge objektet.

g.fib(n);

Udfør nu koden, og du vil se, at da tallet er 11, vil sekvensen være indtil det 11. ciffer.

Konklusion

Denne artikel 'Fibonacci-sekvens C++' er en blanding af forskellige tilgange, der bruges til at skabe en sekvens ved at tilføje de to foregående tal. Med en simpel bytteteknik kan vi udover rekursionsmetoden og ved hjælp af arrays generere disse tal i serier. For at oprette Fibonacci-serien anbefales det, at tallene er i heltalsdatatype. Vi kan beregne rækken ved at anvende begrænsninger på antallet af linjer og antallet af rækkefølgen.