Me gustaría escribir un programa que lea un número entero y luego lo divida por 2 tantas veces como sea posible mientras escribe el número como un producto de dos números multiplicados por un número que ya no es divisible por 2.
Por ejemplo:
Me gustaría un número entero: 120
120 = 2 * 2 * 2 * 15
Aquí está todo lo que he llegado (actualizado en base a los comentarios bien intencionados pero aún no perfecto):
let num = Number(prompt('The number: ')); let i = 0; while(!(num % 2)) { num /= 2; i++; } let solution = Array(i).fill(2).join(' * '); console.log(solution);Ya casi llega, sabe cómo obtener la cantidad 2 que necesita, ahora solo necesita num el número restante, y tal vez recordar el total:
let solution = Array(i).fill(2).join(' * ') + " * " + num;Solución completa:
let num = Number(prompt('The number: ')); let total = num; // remember for later let i = 0; while(!(num % 2)) { num /= 2; i++; } let solution = total + " = " + Array(i).fill(2).join(' * ') + " * " + num; console.log(solution);