Hallo,
ich hätte eine Frage zur Rekursion, angenommen diese Funktion ist gegeben:
Diese soll Rekursive dargestellt werden. Mein Ansatz wäre:
und wenn man auf ein if/while/for verzichten möchte:
Bei kleinen Zahlen bringt mir mein Ansatz ein richtiges Ergebnis, aber bei größeren Zahlen ein java.lang.StackOverflowError. Wie könnte man dies besser lösen?
(Entschuldigt bitte diese banale Frage, ich bin noch Anfänger und dies ist ein Klausur relevantes Thema für mich.
ich hätte eine Frage zur Rekursion, angenommen diese Funktion ist gegeben:
Code:
public static int gcd(int p, int q){
while (q!=0) {
int old_q = q;
q = p % q;
p = old_q;
}
return p; }
Code:
public static int gcdre(int p, int q){
if(q==0){
return p; }
return gcdre(p, q%p); }
Code:
public static int gcd(int p, int q){
return (q==0) ? p : gcd(p, q%p); }
(Entschuldigt bitte diese banale Frage, ich bin noch Anfänger und dies ist ein Klausur relevantes Thema für mich.