Fibonacci -sekvensen ble oppdaget av Leonardo Fibonacci i det 12. århundre . Det er annerledes enn de geometriske og aritmetiske sekvenser. Fibonacci -sekvensen finner ikke den 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å til at sekvensen trenger to "frø " tall . Implementering av denne sekvensen på C + + er en god øvelse for å trene bruk av pekere, arrays og konstanter . Instruksjoner
en
Sett opp et program med C + + . Inkluder iostream biblioteket for å håndtere konsollen inngang og utgang
p Dette er koden : en
# include
bruker namespace std;
int . main ( )
{
2
Erklærer variabler . Bruk to konstanter for de første leddene av sekvensen ( null og en) , en variabel for brukerens input og en peker variabel for å skape den dynamiske spekter
Dette er de erklæringer : .
Const int seed1 = 0; //de " frø " av sekvensen
const int seed2 = 1;
int * pos ; //Dette peker på en rekke som vil holde serien
int valg; //brukerens input
3
Request brukerundersøkelser og teste om brukerens input er riktig. For dette programmet, vil en korrekt inngang være " 3 " eller mer . Her er koden : en
domstol << " Tast inn antall vilkår som skal vises: " ;//lese inndata fra brukeren
cin >> valg;
< p> if ( valg < 3 ) //hvis brukeren inngangen er mindre enn tre , avbryte
{
domstol << "\\ nWrong antall ledd . Program vil avslutte \\ n ";
avkastning ( 1 ) ;
}
4
Opprett dynamiske array til å lagre vilkårene i Fibonacci -sekvensen . Initialiser første og andre periode i matrisen til null og én ( seed1 og seed2 ) . Bruk en kontrollert løkke ( "for" loop) for å lage de andre leddene av sekvensen på det dynamiske array. Bruk følgende kode :
pos = new int [ valg ], //skape en dynamisk array, å bare lagre de vilkår bedt
pos [ 0 ] = seed1 ;
< p > pos [ 1 ] = seed2 ;
for ( int index = 2 ; indeks == (valg - 1 ) ; index + + ) //opprette vilkårene bedt
{
< p > pos [ indeks ] = pos [ index - 1 ] + pos [ index -2],
}
5
Lag et sekund kontrollert " for " loop for å sende vilkårene i matrisen . Etter fremvisning fem perioder , gå til neste linje . Her er koden : en
for ( int disp = 0; disp == (valg - 1 ) ; disp + + ) //disply begrepene
{
cout < < pos [ disp ] << " ";
if ( disp == 5 ) //etter fem perioder , hoppe til neste linje
cout << endl ;
}
6
Avslutt programmet ved å legge til noen flere linjer mellomrom , og returnerer en verdi. Her er koden : en
cout << endl << endl; //end programmet
return ( 0 ) ;
}
7
Kopier og lim inn hele koden på C + + editor. Her er den komplette koden : en
# include
bruker namespace std;
int main ( )
{
const int seed1 = 0; //de " frø " av sekvensen
const int seed2 = 1;
int * pos ; //Dette peker på en matrise som vil holde serien
int valg; //brukerens input
domstol << " Tast inn antall begreper for å vise : " ;//lese inndata fra brukeren
cin > > valg ;
if ( valg < 3 ) //hvis brukeren inngangen er mindre enn tre , avbryte
{
domstol << "\\ nWrong . antall ledd Program vil avslutte \\ n ";
avkastning ( 1 ) ;
}
pos = new int [ valg ], //skape en dynamisk array, å bare lagre de vilkår bedt
pos [ 0 ] = seed1 ;
pos [ 1 ] = seed2 ;
for ( int index = 2 ; indeks == (valg -1 ) ; index + + ) //lage vilkårene bedt
{
pos [ indeks ] = pos [ index - 1 ] + pos [ index -2],
}
for ( int disp = 0; disp == (valg - 1 ) ; disp + + ) //disply begrepene
{
cout << pos [ ,"disp ] << " ";
if ( disp == 5 ) //etter fem perioder , hoppe til neste linje
cout << endl;
< p > }
cout << endl << endl; //end programmet
return ( 0 ) ;
}