Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> C /C + + -programmering >> Content

    Hur man skriver en kod i C + + Använda Lucas Series

    Förmågan att tänka rekursivt är mycket viktigt att programvaruutvecklare . En rekursiv mjukvarurutin upprepar genom att referera till sig själv någon gång . En sådan rutin har ett basfall som avslutar rekursion och förhindrar rutinen från att fortsätta på obestämd tid . De flesta programmerare lära sig att koda Fibonacci Sequence när de lär rekursion . En snarlik serie siffror är Lucas -serien , och det kan lösas rekursivt också. Den Lucas Serien börjar med siffrorna 2 och 1 . Varje efterföljande nummer i serien är summan av de två föregående - till exempel är den tredje siffran 3 ( 1 2 ), följt av 4 ( 3 1 ), följt av 7 ( 4 +3), och så vidare . Saker du behöver
    C + + kompilator , såsom GCC
    C + + IDE , såsom Eclipse CDT
    Visa fler instruktioner
    1

    Starta din C + + IDE och skapa en ny C + + -källkod -fil .
    2

    Skapa en funktion som heter Lucas. Den största delen av programmet kommer att utgöra lucas ett nummer , och förväntar lucas att passera ett antal tillbaka till den . Denna syntax åstadkoms genom att skriva något i stil med detta :

    int lucas ( int x ) katalog

    {

    }
    3

    Set upp det första basfallet . Den första basen fallet inträffar när antalet bidrag till lucas funktionen är 0 . Resultatet av detta är att utmatning av värdet 2 to main . Du kan åstadkomma detta genom att lägga till ett "om " uttalande till insidan av klammerparenteser av lucas -funktionen , som den här :

    if ( x == 0 ) {return 2 ;}
    4

    Ställ in den andra basen fallet . Den andra basen fallet inträffar när antalet bidrag till lucas funktionen är 1 . Resultatet av detta matar ut värdet 1 to main . Du kan skriva det här " annars - om " uttalande som detta , under " om " uttalande från steg 3 :

    else if ( x == 1 ) {return 1 ;}
    5

    Ställ in det rekursiva anropet . Denna inbjudan kommer att ringa lucas själva funktionen två gånger , lägga till resultatet av de två tidigare resultat i Lucas -serien tillsammans . Denna rekursivt anrop kan se ut så här , och går under " if-else " uttalande i steg 4 :

    annars {return lucas ( x - 1 ) + Lucas ( x - 2 ) ;}

    6

    Call lucas i huvudfunktionen . Du kommer att placera din huvudsakliga funktion nedanför den färdiga lucas funktionen , utanför dess klammerparenteser . Hela huvuduppgift bör se ut så här :
    main

    int ( ) katalog

    { int y = Lucas ( 7 ) ; cout << y << endl; återvända 0 ; }
    7

    kompilera och exekvera detta program ( många utvecklingsmiljöer åstadkomma detta genom att trycka på F5 ) . Utgången av programmet kommer att vara de första åtta siffrorna i Lucas -serien : . 2 , 1 , 3 , 4 , 7, 11 , 18 , 29

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man gör spel för Apple-produkter
    ·Hur Bläddra till en rad i en DataGridView
    ·Static void funktioner i C
    ·Så lägger heltal i stigande ordning med C + +
    ·Hur man sparar en vektor till en fil i C + +
    ·Hur att rensa skärmen i Visual C
    ·Hur man gör en klocka i C
    ·Hur automatiskt att öka en build-numret i Visual C
    ·Ställa den sista raden i ett rutnät till Focus
    ·Hur konvertera alfabetiska Strängar i C + +
    Utvalda artiklarna
    ·Vad är Slutför i Java
    ·Hur man driver ett stort importbehov i MySQL
    ·Java Amortering Calculator Code Hjälp
    ·Hur man använder metadata för HTML -kod
    ·Hur man testar med PHP
    ·Hur man gör Static Flyter i Java
    ·Hur man gör en Input Box i Visual Basic
    ·Hur man kör Python Från Bash
    ·Hur man beräknar kommissionen Använda Looping
    ·Hur kompilera med Dev C + +
    Copyright © Dator Kunskap http://www.dator.xyz