Articles

JavaScript Algorithmus: Potenz

Posted on

Heute werden wir eine Funktion mit dem Namen numberToPower schreiben, die zwei ganze Zahlen, number und power, als Eingaben akzeptiert.

Wie der Name der Funktion schon sagt, ist unser Ziel, eine Zahl zu berechnen und zurückzugeben, die die n-te Potenz hat. Die n-te oder der Exponent ist power. Der Haken an der Sache ist, dass wir diese Aufgabe ohne die Hilfe der eingebauten Math-Funktionen lösen werden. Wir können sowohl die while-Schleife als auch die for-Schleife verwenden, um dies zu lösen. Schauen wir uns zuerst die for-Schleife an.

Die For-Schleifen-Lösung

Wenn wir eine Zahl nehmen und sie mit der n-ten Potenz erhöhen, multiplizieren wir die Zahl n-mal mit sich selbst.

Wie multiplizieren wir eine Zahl mit sich selbst? Indem wir die Variable total gleich 1 lassen, hilft uns diese Variable, number mit sich selbst zu multiplizieren. Wir multiplizieren number * 1 eine bestimmte Anzahl von Malen (Potenz) und multiplizieren das Ergebnis jedes Mal mit total.

function numberToPower(number, power){
let total = 1;
for (let i = 1; i <= power; i++) {
total = total * number;
}
return total;
}

Am Ende der Schleife geben wir die Summe zurück.

Die Lösung mit der While-Schleife

Die Lösung mit der While-Schleife macht das Gleiche, mit dem Unterschied, dass wir die Schleife beenden, indem wir nach jeder Schleife power auf 0 herunterzählen.

function numberToPower(number, power){
let total = 1;
while(power > 0){
total *= number;
power--;
}
return total;
}

Während es wahrscheinlich besser ist, die eingebauten Math-Funktionen zu verwenden, um die Potenz einer Zahl zurückzugeben, besonders wenn der Exponent ein Bruch ist, ist der Zweck der Funktion, nicht von den eingebauten Funktionen abhängig zu sein. Es kann sein, dass Sie eine andere Programmiersprache lernen, die nicht alle eingebauten Funktionen hat, die JavaScript hat. Sie müssen sich dann damit herumschlagen, indem Sie das Problem manuell lösen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.