Evnen til å tenke rekursivt er svært viktig for programvareutviklere. En rekursiv programvare rutine gjentar ved å referere til seg selv på et tidspunkt . En slik rutine har en base case som ender rekursjon og hindrer rutine fra å bære på ubestemt tid . De fleste programmerere lære å kode Fibonacci Sequence når de lærer rekursjon . En meget lignende serier med tall viser Lucas serie , og det kan løses rekursivt også. Den Lucas serien begynner med tallene 2 og 1 . Hver etterfølgende siffer i rekken er summen av de to tidligere - for eksempel, er den tredje nummer 3 ( 1 2 ), etterfulgt av 4 ( 3 1 ), etterfulgt av 7 (4 3 ) , og så videre . Du trenger
C + + Compiler , som GCC
C + + IDE , for eksempel Eclipse CDT
Vis flere instruksjoner
en
Start din C + + IDE og skape en nye C + + kildekoden filen .
2
Lag en funksjon som heter lucas . Hoveddelen av programmet vil mate lucas et tall, og forventer lucas å passere en rekke tilbake til det. Denne syntaksen gjøres ved å skrive noe sånt som dette : en
int lucas ( int x )
{
}
3
Set opp den første base tilfelle. Den første base inntreffer når antall input inn i Lucas -funksjonen er 0 . Resultatet av dette sender ut verdien 2 til hovedsiden . Du kan oppnå dette ved å legge en " hvis " statement på innsiden av de klammeparentes av lucas funksjon, som dette : en
if ( x == 0 ) {return to ;}
4
Sett opp andre base case . Den andre BSC inntreffer når antall input inn i Lucas -funksjonen er en . Resultatet av dette er å gi ut verdien 1 til hoved. Du kan skrive dette " andre -hvis"- utsagn som dette , under " hvis " statement fra trinn 3 : en
else if ( x == 1 ) {return 1 ;}
5 < p> Sett opp rekursive kall . Denne samtalen vil kalle lucas funksjonen selv to ganger , og legger resultatet av de to tidligere resultater i Lucas -serien sammen . Denne rekursive kall kan se slik ut , og går under " if-else " statement i trinn 4 : en
else { returnere lucas ( x - 1 ) + lucas ( x - 2 ) ;}
6
Ring lucas i den viktigste funksjonen . Du vil plassere din viktigste funksjon under det ferdige lucas funksjon, utenfor sine krøllete parentes . Hele hovedfunksjon skal se slik ut : en
int main ( )
{ int y = lucas ( 7 ) ; cout << y << endl; return 0 ; }
7
Utarbeide og gjennomføre dette programmet ( mange utviklingsmiljøer oppnå dette ved å trykke F5 ) . Utgangen av programmet vil være de første åtte tallene i Lucas Series : . 2 , 1 , 3, 4 , 7, 11 , 18, 29