RosettaCodeData/Task/Kaprekar-numbers/Sidef/kaprekar-numbers.sidef
2019-09-12 10:33:56 -07:00

16 lines
321 B
Text

var kapr = Set()
for n in (1..15) {
var k = (10**n - 1)
k.udivisors.each {|d|
var dp = k/d
kapr << (dp == 1 ? d : d*invmod(d, dp))
}
}
say kapr.grep { .<= 1e4 }.sort
for n in (6 .. 14) {
var k = (10**n - 1)
printf("Kaprekar numbers <= 10^%2d: %5d\n", n, kapr.count_by { .<= k })
}