Lineær Rekursion eksempel

Tags:    c++

Hej med jer,


1.) Jeg prøver at finde ud af hvordan denne kode virker, efter at have copy/pastet fra nogle sites og lavet min egen version af den. Pointen er at jeg skal vise lineært rekursion, men har ikke helt fantasi til hvordan jeg skal printe de forskellige retur værdier som jeg har i mine if-sætninger.

2.) Og, hvad gør denne linie: return (n* Fact(n-1)); - er det gange eller er det en pointer?? Nej vel.. ?


Fold kodeboks ind/udKode 


Nogle forslag?




Fold kodeboks ind/udKode 

Well.. først og fremmest kalder du slet ikke Fact...

Derefter skal det lige siges at Fact er en ulovlig funktion, da den gør en umulig handling.
BTW: Programmet crasher hvis man prøver at køre din Fact funktion, hvad er det du vil?



Hmmm.. jeg vil bare vise Lineær Rekursion.... hehe.
Kan du hjælpe mig med et simpelt eksempel?




Derefter skal det lige siges at Fact er en ulovlig funktion, da den gør en umulig handling.
BTW: Programmet crasher hvis man prøver at køre din Fact funktion, hvad er det du vil?

Der er da intet ulovligt ved Fact funktionen, men den crasher fordi rekursionen aldrig standses. Den burde nok implementeres således:
Fold kodeboks ind/udKode 


Det den gør er at beregne 1*2*3*4*...n ved hjælp af rekursion. Det vil så være langt mere effektivt at bruge et simpelt loop, men ellers en ganske udemærket rekursions øvelse.



t