Werte von rekursiver Methode

starbug08

Mitglied
hallo leute,

hab mal ne blöden frage. ich möchte gerne wissen wie man werte von rekursiven methoden per hand berechnen kann. ich hab da wohl ne idee ( also mithilfe eines aufrufbaumes ) aber ich bin mir nicht sicher ob das ergebnis richtig ist, hier hab ich mal ne kleine methode,

Java:
public static int reka(int n)
{
if (n <= 1)
{
return 1;
}
else
{
return (reka(n-1) + reka(n-1));
}
}

also für n=3 hätte ich da 42 raus. kann das sein oder hab ich was übersehen?

danke schon mal im vorraus
 
Zuletzt bearbeitet von einem Moderator:
reka(3)
=> reka(2) + reka(2)
=> reka(1) + reka(1) + reka(2)
=> reka(1) + reka(1) + reka(1) + reka(1)
=> 1 + 1 + 1 + 1 = 4
 
schreib doch einfach, WARUM du 42 vermutest bzw. nenne Zwischenschritte,
der Wert für n hängt anscheinend direkt vom Wert für n-1 ab,

also rechne doch alle Werte von 1 an aus, dann man das viel leichter nachvollziehen, ob und wo du einen Fehler hast

edit: bzw. schon geschehen..
 
Bei mir kommt 4 raus:

Java:
package rekursionstest;

public class Main {

    public Main() { 
        }

    public static int reka(int n) {
        if (n <= 1) {
            return 1;
            }
        else {
            return (reka(n-1) + reka(n-1));
        }
    }

    public static void main(String[] args) {
        int result = reka(3);
        System.out.println("Das ist das Result: " + result);
    }
}

Es wird ja 4 mal die rekursion durchlaufen und 4 * 1 = 4.
 
Zuletzt bearbeitet:

Zurück
Oben