dimanche 22 février 2015
Rekursion
Posted on 07:59 by verona
Hallo,
ich habe Probleme mit der Funktionsweise von Rekusion.
hier ein Beispiel
mir ist ein Rätsel wieso das klappt, meinem Verständnis nach würde das ganze so ablaufen (mit der zahl 222) :
erster Durchlauf (222>10) also BerechneQuersumme(222/10) = 22 BerechneQuersumme(222%10)=2
zweiter Durchlauf(22>10) also BQ= 22/10= 12 22%10=2
dritter durchlauf(12>10) also 12/10=1 12%10=2
vierter durchlauf(1<10) deshalb gib 1 zurück.
und nun würde ich alle zwischschritte zusammen rechnen, also 22+2 + 12+ 2 + 1+ 2
und das würde nun mal ein falsches Resultat ergeben.
Ich wäre dankbar wenn mich jemand über meinen Denkfehler aufklären könnte :D
ich habe Probleme mit der Funktionsweise von Rekusion.
hier ein Beispiel
Java Code:
- public static int BerechneQuersumme(int zahl)
- {
- if(zahl<10)
- {
- return zahl;
- }
- return BerechneQuersumme(zahl/10) +BerechneQuersumme(zahl%10);
- }
mir ist ein Rätsel wieso das klappt, meinem Verständnis nach würde das ganze so ablaufen (mit der zahl 222) :
erster Durchlauf (222>10) also BerechneQuersumme(222/10) = 22 BerechneQuersumme(222%10)=2
zweiter Durchlauf(22>10) also BQ= 22/10= 12 22%10=2
dritter durchlauf(12>10) also 12/10=1 12%10=2
vierter durchlauf(1<10) deshalb gib 1 zurück.
und nun würde ich alle zwischschritte zusammen rechnen, also 22+2 + 12+ 2 + 1+ 2
und das würde nun mal ein falsches Resultat ergeben.
Ich wäre dankbar wenn mich jemand über meinen Denkfehler aufklären könnte :D
Rekursion
Categories: Rekursion
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire