Wie berechne ich eine Quadratzahl rekursiv? Also eine Methode wird aufgerufen mit einer Zahl und in der Methode wird rekursiv die Quadratzahl gebildet (Java)?

3 Antworten

Wir wollen n^2 durch den Vorgängen (n-1) ausdrücken, soweit so klar.

Es ist also n^2=((n-1)+1)^2=(n-1)^2+2(n-1)+1=(n-1)^2+2n-1

Rekursion: f(n)=f(n-1)+2*n-1

Nur noch umsetzen, fertig.

Nachtrag: Abbruchbedingung der Rekursion nicht vergessen, und in der Form erstmal nur für n aus N.

Du meinst wohl eher wie du rekursiv eine Potenz berechnest.

Die Methode erhält die Zahl und die Potenz. Sie braucht dann eine Fallunterscheidung für Potenz = 0, bei der sie 1 zurückgibt.

Im anderen Fall wird Zahl * Funktion gerechnet.

Hilft dir das weiter?

Rekursion macht hier wirklich wenig Sinn.

Schachpapa  22.10.2021, 23:34

Das Problem jedes Informatikkurses: Wie findet man Aufgaben, die a) leicht verständlich sind und b) mit Rekursion deutlich besser zu lösen sind als ohne?

Oft verzichtet man auf b) und berechnet z.B. die Summe über die ersten n natürlichen Zahlen rekursiv.

Quadratzahlen ist schon ziemlich um die Ecke gedacht, aber wie KarlRanseierIII zeigt, durchaus möglich.

0