RosettaCodeData/Task/Digital-root-Multiplicative-digital-root/JavaScript/digital-root-multiplicative-digital-root.js
2026-04-30 12:34:36 -04:00

31 lines
615 B
JavaScript

function digmul(n) {
return [...String(n)].reduce((x, y) => Number(x) * Number(y));
}
function mdr_mp(n) {
let m = n, i = 0;
while (m > 9) {
m = digmul(m);
i++;
}
return {"MDR": m, "MP": i};
}
for (const n of [123321, 7739, 893, 899998]) {
console.log(`${n} has MDR ${mdr_mp(n)["MDR"]} and MP ${mdr_mp(n)["MP"]}`);
}
function first5mdr(n) {
let m = 0, nums = [];
while (nums.length < 5) {
if (mdr_mp(m)["MDR"] == n) {
nums.push(m);
}
m++;
}
return `First 5 numbers with MDR ${n}: ${nums.join(", ")}`;
}
for (let i = 0; i < 10; i++) {
console.log(first5mdr(i));
}