31 lines
615 B
JavaScript
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));
|
|
}
|