Articles

Algoritmo de JavaScript: Potencia

Posted on

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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *