Fibonacci-reeks C++

Fibonacci Reeks C



De Fibonacci-reeks/reeks is een reeks getallen die ontstaat wanneer het volgende getal wordt verkregen door een som van de laatste twee getallen in een reeks. De eerste twee cijfers zijn altijd 0 en 1. De Fibonacci-reeks kan in elke programmeertaal worden verkregen, maar hier passen we de broncode toe in de programmeertaal C++. In de wiskunde wordt de reeks van Fibonacci uitgelegd door middel van een recursierelatie met een voorbeeldformule.

Fn = Fn-1 + Fn-2

Deze tutorial bevat verschillende methoden om een ​​reeks Fibonacci-getallen te maken.







voorbeeld 1



In dit voorbeeld wordt eerst de bibliotheek met invoer- en uitvoerstromen gebruikt om de cin- en cout-stromen mogelijk te maken, plus de betrokkenheid van de gebruiker wordt ook aangemoedigd via deze bibliotheek. In het hoofdprogramma nemen we twee integer-type variabelen en declareren ze nulwaarde. Er wordt ook een andere nextterm-variabele gebruikt die wordt geïnitialiseerd als nul en wordt geplaatst voor later gebruik. We zullen de gebruiker vragen om een ​​nummer in te voeren dat hij nodig heeft in de Fibonacci-reeks. Met andere woorden, het aantal regels dat als uitvoer wordt weergegeven, is afhankelijk van de invoer van de gebruiker. Het specifieke nummer dat de gebruiker zal invoeren, het resultaat zal het antwoord in deze regels bevatten.







We hebben een 'for'-lus nodig om te herhalen tot aan dat specifieke nummer dat de gebruiker invoert om de reeks te berekenen. Dit is een soort limiet door meerdere regels. Een if-opdracht wordt gebruikt om het aantal te controleren; als het er een is, geef het dan weer zoals het is zonder enige verandering. Evenzo wordt het tweede nummer op dezelfde manier weergegeven. In de Fibonacci-reeks worden de eerste twee getallen weergegeven. Om verder te gaan, hebben we de continue-instructie gebruikt. Om de reeks verder te berekenen, tellen we beide waarden op. En dit wordt het derde nummer in de reeks. Nadat dat uitwisselingsproces is gestart, krijgt de eerste variabele de waarde van de tweede variabele toegewezen en bevat de tweede variabele de derde waarde die is opgeslagen in de variabele nextterm.

Volgendeterm = t1 + t2;



T1 = t2;

T2 =volgende termijn;

Nu wordt elke waarde weergegeven, gescheiden door komma's. Voer de code uit via een compiler. '-o' wordt gebruikt om de uitvoer van de code in het invoerbestand op te slaan.

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

Je kunt zien dat wanneer het programma wordt uitgevoerd, de gebruiker zal vragen om het nummer in te voeren dat hij heeft ingevoerd 7, dan zal het resultaat 7 regels zijn, ongeacht op welk punt de Fibonacci-reeks het 7e punt heeft bereikt.

Voorbeeld 2

Dit voorbeeld bevat de berekening van de Fibonacci-reeks door de volgendetermwaarde te beperken. Dit betekent dat de Fibonacci-reeks kan worden aangepast door een opgegeven aantal op te geven in welke mate u wilt. In tegenstelling tot het vorige voorbeeld hangt het resultaat niet af van het aantal regels maar van het aantal reeksen gegeven door een getal. We gaan uit van het hoofdprogramma, de variabelen zijn hetzelfde en de benadering van de gebruikersbetrokkenheid is ook hetzelfde. Dus de eerste twee variabelen worden aan het begin geïnitialiseerd als nul, de variabele nextterm wordt nul verklaard. Vervolgens voert de gebruiker het nummer in. De eerste twee termen worden dan weergegeven die altijd 0 en 1 zijn.

De nextterm-waarde krijgt de waarde toegewezen die is verkregen door de getallen in de eerste twee variabelen op te tellen. Hier wordt een while-lus gebruikt om een ​​voorwaarde toe te passen voor het maken van de reeks totdat de waarde in de variabele nextterm gelijk is aan of kleiner is dan het getal dat de gebruiker opgeeft.

Terwijl (volgende term <= n)

Binnen deze while-lus wordt de logica toegepast door de getallen in achterwaartse richting om te wisselen. De variabele nextterm voegt opnieuw de waarden van variabelen toe.

Volgendeterm = t1 + t2;

Sla nu het bestand op en compileer het om de code in de terminal uit te voeren.

Wanneer u de code uitvoert, zal het systeem een ​​getal van u vragen dat een positief getal moet zijn. Dan zul je zien dat bij de berekening een reeks getallen tot aan het 55e getal wordt weergegeven.

Voorbeeld 3

Deze broncode die we zullen noemen zal een andere methode bevatten om de Fibonacci-reeks te berekenen. Tot nu toe hebben we de reeks binnen het hoofdprogramma berekend. Dit voorbeeld gebruikt de betrokkenheid van een aparte functie om deze reeks getallen te berekenen. Binnen de functie wordt een recursieve aanroep gedaan om het proces voort te zetten. Daarom is het ook een voorbeeld van recursie. De functie neemt het getal in de parameter tot waar de reeks moet worden berekend. Dit nummer wordt verzonden vanuit het hoofdprogramma. Een if-opdracht wordt gebruikt om te controleren of het getal kleiner is dan of gelijk is aan 1, en vervolgens het getal zelf terug te geven, omdat we minimaal twee getallen nodig hebben om de reeks te berekenen. In het tweede geval, wanneer de voorwaarde onwaar wordt en het getal groter is dan 1, berekent u de reeks door herhaaldelijk een recursieve aanroep naar de functie zelf te gebruiken.

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

Dit laat zien dat in het eerste deel, één getal voordat het totale aantal wordt doorgegeven aan de functie, die waarde wordt afgetrokken van het getal dat wordt verkregen uit de cel die twee getallen voorafgaand aan het totale aantal als parameter bevat.

Nu wordt in het hoofdprogramma het nummer toegewezen aan de variabele en wordt de eerste functieaanroep gedaan om het nummer door te geven aan de functie. Voer nu de broncode van het bestand uit in de terminal om het antwoord te krijgen. Hier ziet u dat '13' het antwoord is, aangezien het ingevoerde getal 7 was, dus de reeks wordt 0+1+1+2+3+5+8+13.

Voorbeeld 4

Dit voorbeeld omvat de OOP-benadering (objectgeoriënteerd programmeren) voor het berekenen van de Fibonacci-reeks. Er wordt een klasse GFG gemaakt. In het openbare deel wordt een functie gemaakt om een ​​array te hebben waarin de Fibonacci-reeks wordt opgeslagen.

F [n+2];

Hier is n het getal dat aan het begin als 0 is aangegeven.

F[0] = 0;

F[1] = 1;

De nummers op index 0 en 1 worden gedeclareerd als 0 en 1.

Daarna wordt een ‘for’-lus gebruikt waarin de Fibonacci-reeks wordt berekend. De twee vorige nummers worden toegevoegd aan de reeks en worden opgeslagen.

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

Daarna wordt het specifieke nummer bij een bepaalde index geretourneerd.

Een functieaanroep wordt gedaan met behulp van het object.

g.fib(n);

Voer nu de code uit en u zult zien dat aangezien het nummer 11 is, de reeks tot het 11e cijfer zal zijn.

Conclusie

Dit artikel 'Fibonacci-reeks C++' is een mix van verschillende benaderingen die worden gebruikt om een ​​reeks te maken door de twee voorgaande getallen toe te voegen. Met een eenvoudige omwisselingstechniek, naast de recursiemethode en met behulp van arrays, kunnen we deze getallen in serie genereren. Om de Fibonacci-reeks te maken, wordt aanbevolen dat de getallen in het gegevenstype integer zijn. We kunnen de reeks berekenen door beperkingen toe te passen op het aantal regels en het nummer van de reeks.