Hoy vamos a escribir una función llamada numberToPower
que aceptará dos enteros, number
y power
, como entradas.
Como el nombre de la función sugiere, nuestro objetivo es calcular y devolver un número elevado a la enésima potencia. Siendo la enésima o el exponente power
. Sin embargo, hay una trampa, vamos a resolver esto sin la ayuda de cualquier función matemática incorporada. Podemos usar tanto el bucle while como el for-loop para resolver esto. Veamos primero el bucle for.
La solución del bucle for
Cuando tomamos un número y lo elevamos a la enésima potencia, estamos multiplicando el número por sí mismo n veces.
¿Cómo multiplicamos un número por sí mismo? Dejando la variable total
igual a 1
, esta variable nos ayudará a multiplicar number
por sí mismo. Multiplicamos number * 1
un número determinado de veces (potencia) y multiplicamos el resultado a total
cada vez.
function numberToPower(number, power){
let total = 1;
for (let i = 1; i <= power; i++) {
total = total * number;
}
return total;
}
Al final del bucle, devolvemos el total.
La solución del bucle while
La solución del bucle while hace lo mismo con la excepción de que terminamos el bucle cuando decrementamos power
hasta 0 después de cada bucle.
function numberToPower(number, power){
let total = 1;
while(power > 0){
total *= number;
power--;
}
return total;
}
Aunque probablemente sea mejor utilizar las funciones matemáticas incorporadas para devolver la potencia de un número, especialmente si el exponente es una fracción, el propósito de la función es no depender de las funciones incorporadas. Puede que te encuentres aprendiendo otro lenguaje de programación que no tenga todas las funciones incorporadas que tiene JavaScript. Tendrás que ingeniártelas resolviendo el problema manualmente.