Wie schreibe ich eine rekursive Methode, um x ^ n + x ^ (n-1) + x ^ (n-2) zu summieren?
Ich habe gestern eine Frage gestellt, wie man die Summe einer rekursiven Methode findet
Der Beitrag befindet sich hier: Rekursive Methode zur Summe von x ^ 0 + x ^ 1 + x ^ 2 + ... + x ^ n
Wie mache ich eine rekursive Methode in umgekehrter Reihenfolge.
Beispiel: x ^ n + x ^ (n-1) + x ^ (n-2) + ... + 3 + 2, + 1
Ich habe große Probleme, mein Gehirn mit rekursiven Methoden zu beschäftigen, und viele andere Ressourcen helfen mir nicht weiter. Jede Hilfe wird geschätzt. Vielen Dank an alle!
Antworten
Die akzeptierte Antwort lautet:
double r = compute(n-1,x)+ (v = Math.pow(x,n));
System.out.print(" + " + v);
Wenn wir diese verschachtelte Zuweisung auspacken, ist dies:
v = Math.pow(x, n);
double r = compute(n - 1, x) + v;
System.out.print(" + " + v);
Um die Ausgabereihenfolge umzukehren, tauschen Sie einfach die compute()
und print()
Aufrufe aus. Wir müssen auch das " + "
und v
in der print
Anweisung tauschen .
v = Math.pow(x, n);
System.out.print(v + " + ");
double r = compute(n - 1, x) + v;
Das ist es!
27.0 + 9.0 + 3.0 + 1.0
v = 40.0