Secvența Fibonacci C++

Secventa Fibonacci C



Seria/sirura Fibonacci este o serie de numere create atunci când următorul număr este obținut prin suma ultimelor două numere dintr-o serie. Primele două numere sunt întotdeauna 0 și 1. Seria Fibonacci poate fi obținută în orice limbaj de programare, dar aici vom aplica codul sursă în limbajul de programare C++. În matematică, succesiunea lui Fibonacci este explicată prin relație de recursivitate având o formulă eșantion.

Fn = Fn-1 + Fn-2

Acest tutorial va conține diferite metodologii pentru a crea o secvență de numere Fibonacci.







Exemplul 1



În acest exemplu, în primul rând, biblioteca de fluxuri de intrare și ieșire este utilizată pentru a activa fluxurile cin și cout, plus implicarea utilizatorului este, de asemenea, încurajată prin această bibliotecă. În cadrul programului principal, vom lua două variabile de tip întreg și le vom declara valoarea zero. Este folosită și o altă variabilă termenul următor care este inițializată ca zero și plasată pentru utilizare ulterioară. Vom cere utilizatorului să introducă un număr de care are nevoie în seria Fibonacci. Cu alte cuvinte, numărul de linii afișate ca ieșire depinde de intrarea utilizatorului. Numărul specific pe care îl va introduce utilizatorul, rezultatul va conține răspunsul în aceste rânduri.







Avem nevoie de o buclă „for” pentru a repeta până la acel număr specific pe care utilizatorul îl introduce pentru a calcula secvența. Acesta este un fel de limită de mai multe rânduri. O declarație if este folosită pentru a verifica numărul; dacă este unul, atunci afișați-l așa cum este, fără nicio modificare. În mod similar, al doilea număr va fi afișat la fel. În secvența Fibonacci, sunt afișate primele două numere. Pentru a continua, am folosit declarația de continuare. Pentru a calcula în continuare seria, vom adăuga ambele valori. Și acesta va fi al treilea număr din serie. După începerea procesului de schimbare, primei variabile i se va atribui valoarea celei de-a doua variabile, iar a doua variabilă va conține a treia valoare stocată în variabila termenul următor.

Termenul următor = t1 + t2;



T1 = t2;

T2 =term următor;

Acum fiecare valoare este afișată separată prin virgule. Executați codul printr-un compilator. „-o” este folosit pentru a salva rezultatul codului prezent în fișierul de intrare.

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

Puteți vedea că atunci când programul este executat, utilizatorul va cere să introducă numărul pe care l-a introdus 7, apoi rezultatul va fi de 7 linii, indiferent în ce moment seria Fibonacci a atins punctul 7.

Exemplul 2

Acest exemplu va conține calculul seriei Fibonacci prin limitarea valorii termenului următor. Aceasta înseamnă că seria Fibonacci poate fi personalizată prin furnizarea unui număr specificat în ce măsură doriți. Spre deosebire de exemplul anterior, rezultatul depinde nu de numărul de linii, ci de numărul de serii date de un număr. Vom pleca de la programul principal, variabilele sunt aceleași, iar abordarea implicării utilizatorului este la fel. Deci primele două variabile sunt inițializate ca zero la început, variabila pe termenul următor este declarată zero. Apoi utilizatorul va introduce numărul. Primii doi termeni sunt apoi afișați, care sunt întotdeauna 0 și 1.

Valoarea termenului următor i se va atribui valoarea obținută prin adăugarea numerelor prezente în primele două variabile. Aici o buclă while este folosită pentru a aplica o condiție de creare a seriei până când valoarea din variabila termenul următor este egală sau mai mică decât numărul pe care îl oferă utilizatorul.

În timp ce (term următor <= n)

În această buclă while, logica va fi aplicată prin schimbarea numerelor în direcția înapoi. Variabila termenului următor va adăuga din nou valorile variabilelor.

Termenul următor = t1 + t2;

Acum salvați fișierul și compilați-l pentru a executa codul în terminal.

Când rulați codul, sistemul vă va cere un număr care trebuie să fie un număr pozitiv. Apoi veți vedea că la calcul, se afișează o serie de numere până la al 55-lea număr.

Exemplul 3

Acest cod sursă pe care îl vom menționa va conține o metodă diferită de calcul a seriei Fibonacci. Până acum, am calculat seria în cadrul programului principal. Acest exemplu folosește implicarea unei funcții separate pentru a calcula această secvență de numere. În interiorul funcției, se face un apel recursiv pentru a continua procesul. Prin urmare, este și un exemplu de recursivitate. Funcția va prelua numărul din parametru, până la care urmează să fie calculată seria. Acest număr este trimis din programul principal. O instrucțiune if este folosită pentru a verifica dacă numărul este mai mic sau egal cu 1, apoi returnează numărul în sine, deoarece avem nevoie de minimum două numere pentru a calcula seria. În al doilea caz, când condiția devine falsă și numărul este mai mare decât 1, calculați seria utilizând în mod repetat un apel recursiv la funcția în sine.

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

Aceasta arată că în prima parte, un număr înainte ca numărul total să fie transmis funcției, acea valoare va fi scăzută din numărul obținut din celula care conține două numere anterioare numărului total ca parametru.

Acum, în programul principal, numărul este atribuit variabilei și primul apel de funcție este efectuat pentru a trece numărul funcției. Acum executați codul sursă al fișierului în terminal pentru a obține răspunsul. Aici veți vedea că „13” este răspunsul, deoarece numărul introdus a fost 7, deci seria va fi 0+1+1+2+3+5+8+13.

Exemplul 4

Acest exemplu implică abordarea OOP (programare orientată pe obiecte) de calcul a seriei Fibonacci. Este creată o clasă GFG. În partea sa publică, o funcție este creată pentru a avea o matrice care va stoca seria Fibonacci.

F [n +2];

Aici n este numărul declarat ca 0 la început.

F[0] = 0;

F[1] = 1;

Numerele de la indexul 0 și 1 sunt declarate ca 0 și 1.

După aceea, se folosește o buclă „for” în care se va calcula seria Fibonacci. Cele două numere anterioare sunt adăugate la serie și vor fi stocate.

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

După aceea, este returnat numărul specific de la un anumit index.

Un apel de funcție este efectuat prin utilizarea obiectului.

g.fib(n);

Acum executați codul și veți vedea că, deoarece numărul este 11, secvența va fi până la a 11-a cifră.

Concluzie

Acest articol „Secvența Fibonacci C++” este un amestec de abordări diferite utilizate pentru a crea o secvență prin adăugarea celor două numere anterioare. Cu o tehnică simplă de swapping, pe lângă metoda recursiunii și cu ajutorul tablourilor, putem genera aceste numere în serie. Pentru a crea seria Fibonacci, se recomandă ca numerele să fie de tipul de date întregi. Putem calcula seria aplicând limitări asupra numărului de linii și numărului secvenței.