Quiero dividir un número entre 20 y 50 en partes desiguales.
Por ejemplo:
30 = 1x20 y 1x10
45 = 2x20 1x5
o 38 = 1x20 1x10 1x5 1x2 1x1
document.getElementById("jscolor").style.color = "red"; var tokenResult = prompt(`Please enter a number between 10 and 50: `); var divideBy = 5; tokenResult = parseInt(tokenResult); document.write(tokenResult + ` = `); for (var i = 0; i < divideBy; i++) { document.write(`${tokenResult / divideBy} `); }Lo que genera algo como:
25 = 5 5 5 5 5
No he logrado dividirlo en partes desiguales que no sean aleatorias.
Básicamente, necesitas una variedad de denominaciones, como
[20, 10, 5, 2, 1]Luego, debe tomar su valor y dividirlo por el valor más grande. Tome el conteo, un valor entero y guárdelo junto con la denominación.
Reste el producto del valor de conteo y denominación del valor de entrada.
Si su nuevo valor no es cero, tome el segundo valor grande de la matriz de denominaciones y realice los últimos pasos nuevamente.
Finalmente, obtenga todos los conteos y denominaciones en una cadena legible y haga una salida.