Vandaag gaan we een functie schrijven met de naam numberToPower
die twee gehele getallen, number
en power
, als invoer accepteert.
Zoals de naam van de functie al doet vermoeden, is ons doel een getal te berekenen en terug te geven tot de n-de macht verheven. De n-de of de exponent is power
. Er is echter een addertje onder het gras, we zullen dit oplossen zonder de hulp van ingebouwde Math functies. We kunnen zowel de while-lus als de for-lus gebruiken om dit op te lossen. Laten we eerst naar de for-lus kijken.
De for-lus oplossing
Wanneer we een getal tot de n-de macht verheffen, vermenigvuldigen we het getal met zichzelf n keer.
Hoe vermenigvuldigen we een getal met zichzelf? Door de variabele total
gelijk te laten zijn aan 1
, helpt deze variabele ons number
met zichzelf te vermenigvuldigen. We vermenigvuldigen number * 1
een bepaald aantal keren (macht) en vermenigvuldigen het resultaat telkens met total
.
function numberToPower(number, power){
let total = 1;
for (let i = 1; i <= power; i++) {
total = total * number;
}
return total;
}
Aan het eind van de lus geven we het totaal terug.
De while-lus oplossing
De while-lus oplossing doet hetzelfde met de uitzondering dat we de lus beëindigen wanneer we power
na elke lus terugbrengen tot 0.
function numberToPower(number, power){
let total = 1;
while(power > 0){
total *= number;
power--;
}
return total;
}
Hoewel het waarschijnlijk beter is om de ingebouwde Math functies te gebruiken om de macht van een getal terug te geven, vooral als de exponent een breuk is, is het doel van de functie om niet afhankelijk te zijn van ingebouwde functies. Het kan zijn dat je een andere programmeertaal leert die niet alle ingebouwde functies heeft die JavaScript heeft. Je zult je een weg moeten banen door het probleem handmatig op te lossen.