Java Rekursion mit Potenzzahlen?

4 Antworten

In der Zeile steht quasi Um die Potenz mit dem um 1 verringerten Exponenten zu berechnen, wird diese Zeile rekursive aufgerufen bis der Exponent 0 ist. Dann landet man bei der Anweisung nach dem ersten if und es wird x⁰ = 1 ausgegeben.

Bei jedem Aufruf der Funktion wird 4ⁿ durch 4⋅4ⁿ⁻¹ bzw im Fall n = 0 durch 1 ersetzt.

Ja das könnte in einer zeile errechnet werden aber sieht aus als wär der Sinn dahinter Rekursion anzuwenden.
und Rekursion findet immer da statt wo die Funktion sich selbst wieder aufruft. Wie der genau rechnet hat Sogradest erklärt

  • potenzRechner(4,3) => 4 * potenzRechner(4, 2)
  • potenzRechner(4,2) => 4 * potenzRechner(4, 1)
  • potenzRechner(4,1) => 4

Da potenzzahl2 als 1 übergeben wurde, hat die Rekursion geendet und das Ergebnis wird zurückgegeben.

Also, das Ergebnis ist 444 = 64

es werden quasi Klammern aufgebaut:

4*(4*(4*1)))

und dann von innen nach außen gerechnet.