16 lines
321 B
Text
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 })
|
|
}
|