Minimum multiple of m where digital sum equals m

var e = Enumerator({|f|
    for n in (1..Inf) {
 
        var k = 0
        while (k.sumdigits != n) {
            k += n
        }
 
        f(k/n)
    }
})
 
var N = 60
var A = []
 
e.each {|v|
    A << v
    say A.splice.map { '%7s' % _ }.join(' ') if (A.len == 10)
    break if (--N <= 0)
}

Output:

Last updated

Was this helpful?