Kaprekar numbers: Difference between revisions

m
→‎{{header|Sidef}}: code simplifications
m (→‎{{header|Sidef}}: code simplifications)
Line 4,474:
=={{header|Sidef}}==
{{trans|Perl}}
<lang ruby>var kapkapr = HashSet()
 
for n in (1..15) {
var npk = (10**n - 1)
npk.divisorsudivisors.each { |d|
var dp = npk/d
ifkapr << (is_coprime(dp, == 1 ? d : d*invmod(d, dp)) {
kap{ dp == 1 ? d : d*invmod(d, dp) } := 0 ++
}
}
}
 
varsay numskapr.grep ={ kap.keys.map{<= Num(_)1e4 }.sort
 
for n in (6 .. 14) {
var npk = (10**n - 1)
printf("Kaprekar numbers <= 10^%2d: %5d\n", n, numskapr.count_by { .<= npk })
}</lang>
 
{{out}}
<pre>
[1, 9, 45, 55, 99, 297, 703, 999, 2223, 2728, 4879, 4950, 5050, 5292, 7272, 7777, 9999]
Kaprekar numbers <= 10^ 6: 54
Kaprekar numbers <= 10^ 7: 62
2,747

edits