Slik formaterer Fibonacci tall i C ++

Slik formaterer Fibonacci tall i C ++


Fibonacci-sekvensen ble oppdaget av Leonardo Fibonacci i det 12. århundre. Det er annerledes enn de fleste geometriske og aritmetiske sekvenser. Fibonacci-sekvensen ikke finne neste sikt ved å legge til eller multiplisere med en konstant. I stedet er den nte termen resultatet av å legge til (N-1) th og (N-2) th sikt - dette fører også sekvensen til å trenge to "frø" tall. Implementering av denne sekvensen på C ++ er en god øvelse for å trene bruk av pekere, arrays og konstanter.

Bruksanvisning

1 Sett opp et program med C ++. Inkluder iostream biblioteket for å håndtere konsollen inngang og utgang.

Dette er koden:

inkluderer <iostream>

bruker namespace std;

int main ()

{

2 Erklærer variabler. Bruk to konstanter for de første vilkårene i sekvensen (null og en), til en variabel for brukerens input og en peker variabel skape den dynamiske array.

Dette er de erklæringer:

const int seed1 = 0; // I "frø" av sekvensen

const int seed2 = 1;

int * pos; // Dette peker på en rekke som vil holde serien

int valg; // Brukerens input

3 Be om brukerundersøkelser og teste om brukerundersøkelser er riktig. For dette programmet, vil en korrekt inngang være "3" eller mer. Her er koden:

cout << "Tast inn numrene av vilkårene for å vise:"; // lese brukerundersøkelser

cin >> valg;

if (valg <3) // hvis brukeren inngangen er mindre enn 3, avbryt

{

cout &lt;&lt; "\nWrong number of terms. Program will terminate\n";

avkastning (1);

}

4 Lag dynamisk array å lagre vilkårene i Fibonacci-sekvensen. Initial den første og andre periode i matrisen til null og én (seed1 og seed2). Bruk en kontrollert loop ( "for" loop) for å lage de andre vilkårene i sekvensen på dynamisk array. Bruk følgende kode:

pos = new int [valg]; // Skape en dynamisk array, til å lagre bare vilkårene etterspør

pos [0] = seed1;

pos [1] = seed2;

for (int index = 2; indeks == (valg-1); index ++) // skape betingelsene etterspør

{

pos[index]= pos[index-1] + pos[index-2];

}

5 Lag en andre styrt "for" loop til utgangs vilkårene i rekken. Etter å ha vist fem vilkår, gå til neste linje. Her er koden:

for (int disp = 0; disp == (valg-1); disp ++) // disply vilkårene

{

cout & lt; & lt; pos [DISP] & lt; & lt; "";

if (disp == 5) // etter fem vilkår, hoppe til neste linje

cout & lt; & lt; endl;

}

6 Avslutt programmet ved å legge til noen flere linjer mellomrom, og returnerer en verdi. Her er koden:

cout << endl << endl; // Avslutte programmet

avkastning (0);

}

7 Kopier og lim inn hele koden inn i C ++ editor. Her er den komplette koden:

inkluderer <iostream>

bruker namespace std;

int main ()

{

const int seed1=0; //the 'seeds' of the sequence

const int seed2 = 1;

int * pos; // Dette peker på en rekke som vil holde serien

int valg; // Brukerens input

cout & lt; & lt; "Fyll inn tallene fra vilkårene for å vise:"; // lesebrukerundersøkelser

cin >> valg;

if (valg & lt; 3) // hvis brukeren inngangen er mindre enn 3, avbryt

{

cout & lt; & lt; "\ NWrong rekke begreper Program vil avslutte \ n.";

avkastning (1);

}

pos = new int [valg]; // Skape en dynamisk array, til å lagre bare vilkårene etterspør

pos [0] = seed1;

pos [1] = seed2;

for (int index = 2; indeks == (valg-1); index ++) // skape betingelsene etterspør

{

pos [index] = pos [indeks 1] + pos [index-2];

}

for (int disp = 0; disp == (valg-1); disp ++) // disply vilkårene

{

cout & lt; & lt; pos [DISP] & lt; & lt; "";

if (disp == 5) // etter fem vilkår, hoppe til neste linje

cout & lt; & lt; endl;

}

cout & lt; & lt; endl & lt; & lt; endl; // Avslutte programmet

avkastning (0);

}