23. april 2002 - 11:25Der er
3 kommentarer og 3 løsninger
rekursiv funktion
Hej allesammen.
Jeg skal lave en rekursiv funktion for foerste gang og kunne godt taenke mig lidt hjaelp hvis det er muligt. Opgaven er saaledes: Arbejdere der skal asfaltere en vej med en maximum lanegde paa 2 miles kraever $200 for denne service. Hvis vejen er laengere end 2 miles, arbejderen vil opdele vejen i 3 lige store dele og hver af de 3 dele til tre andre arbejdere - det koster saaledes $100 at hyre de tre arbejdere. Hver af de tre arbejdere vil saa goere det samme som arbejderen der hyrede dem; dvs hvis vejen er max 2 miles, koster det $200 og saadan fortsaetter det. Input: laengde (af vejen). return: total pris af asfalteringen af hele vejen.
Er der en der har et bud paa hvordan man laver en rekursiv funktion paa dette? Paa forhaand tak!!
Når det er første gang du laver rekursiv funktion synes jeg du skulle prøve at lave et mindre eksempel først. fx fakulitet.
Her er 5! = 5*4*3*2*1 5! = 5*4! 4! = 4*3! osv.
For at udregne 5 fakulitet kaldes derfor metode der udregner 4 fakulitet og dette ganges med 5, men den metode kalder jo så bare 3 fakulitet og ganger dette med 4, indtil metoden bliver kaldt med 1 som så bare retunerer 1
altså
int fakulitet(int n) { int result=1; if (n>1) result = n*fakulitet(n-1);
Hej alle tre, Mange tak for jeres meget brugbare svar som er lette at forstaa. Jeg deler pointene ud til jer. Codemon kan du ikke laave et svar, saa jeg ogsaa kan give dig point? Endnu engang tak!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.