Ich versuche, ein Java-Programm zu schreiben, das Rekursion verwendet, um die Power-Tower-Funktion zu berechnen. Ihre Funktion nimmt als Eingabe drei Werte an: Basis, Stärke und Höhe. Es sollte dann etwas wie ((2^2)^2)^2) berechnen. Ich bekomme nicht die richtige Berechnung, bitte sagen Sie mir, was los ist.Java Rekursion Advance
Das ist, was ich habe:
public double powerTower(double base, int power, int height){
if (base == 0) {
return 0;
} else if (power == 1) {
return base;
} else if(height == 1){
return base * powerTower(base, power - 1, height - 1);
}else if(power == 0){
return 1;
}else {
return base * powerTower(base, power -1, height-1) * Math.pow(base, height*power);
//return Math.pow(base, power*height)*base;
}
}
Was ist Höhe? Ist es die Anzahl der Male, die auf 2 erhöht werden? Was wird die Höhe in dem Beispiel sein, das Sie angegeben haben? –
Haben Sie die Klammern richtig herum? Ich dachte, es wäre 2^(2^(2^2)) für einen Power Tower gewesen? – muzzlator
ja muzzlator powertower –