Proper divisors: Difference between revisions

m
→‎{{header|Sidef}}: code simplifications
m (→‎{{header|zkl}}: new verson)
m (→‎{{header|Sidef}}: code simplifications)
Line 4,209:
{{trans|Perl 6}}
<lang ruby>func propdiv (n) {
n.divisors.slice(0, -2)
gather {
{ |d|
if (d `divides` n) {
take(d, n//d)
}
} << 1..n.isqrt
}.grep{ _ != n }.uniq.sort
}
 
{|i| sayprintf("%2d: %s\n"#{, i}\t#{, propdiv(i)}") } << 1..10
 
var max = 0
var candidates = []
 
20_000.times { |i|
for i in (1..20_000) {
var divs = propdiv(i).len
if (divs > max) {
Line 4,234 ⟶ 4,229:
{{out}}
<pre>
1 : []
2 : [1]
3 : [1]
4 : [1, 2]
5 : [1]
6 : [1, 2, 3]
7 : [1]
8 : [1, 2, 4]
9 : [1, 3]
10 : [1, 2, 5]
max = 79, candidates = [15120, 18480]
</pre>
2,747

edits