23 lines
514 B
Nim
23 lines
514 B
Nim
import strutils, sequtils, sugar
|
|
|
|
proc mdroot(n: int): tuple[mp, mdr: int] =
|
|
var mdr = @[n]
|
|
while mdr[mdr.high] > 9:
|
|
var n = 1
|
|
for dig in $mdr[mdr.high]:
|
|
n *= parseInt($dig)
|
|
mdr.add n
|
|
(mdr.high, mdr[mdr.high])
|
|
|
|
for n in [123321, 7739, 893, 899998]:
|
|
echo align($n, 6)," ",mdroot(n)
|
|
echo ""
|
|
|
|
var table = newSeqWith(10, newSeq[int]())
|
|
for n in 0..int.high:
|
|
if table.map((x: seq[int]) => x.len).min >= 5: break
|
|
table[mdroot(n).mdr].add n
|
|
|
|
for mp, val in table:
|
|
echo mp, ": ", val[0..4]
|