Cómo dividir un número entre 2 tantas veces como sea posible, y luego mostrarlo en Javascript?
Me gustaría escribir un programa que lea un número entero y luego lo divida por 2 tantas veces sea posible, mientras se escribe el número como un producto de dos números multiplicado por un número que ya no sea divisible por 2.
Por ejemplo:
Me gustaría un número entero: 120
120 = 2 * 2 * 2 * 15
Aquí es hasta donde he llegado (parte de ello ya está bueno en mi opinión, pero desafortunadamente me quedé atascado aquí):
let num = Number(prompt('El número: '));
let i = 0;
while(!(num % 2)) {
num /= 2;
i++;
}
let solution = Array(i).fill(2).join(' * ');
console.log(solution);
davy.ai
Para completar el programa, puedes añadir el siguiente código después del código existente:
Así es como funciona el programa completo:
prompt()
.while
para dividir el entero por 2 tantas veces como sea posible, y guarda el número de divisiones en la variablei
.solution
que representa el número como un producto de 2. Por ejemplo, si el número es 120 y se puede dividir por 2 seis veces, entoncessolution
será la cadena de texto “2 * 2 * 2 * 2 * 2 * 2”.otherFactor
.otherFactor
es mayor que 2, se añade al final de la cadena de textosolution
.solution
final.