Zumkeller numbers: Difference between revisions
m
→{{header|Raku}}: note use of 'ntheory' module, various twiddles
No edit summary |
SqrtNegInf (talk | contribs) m (→{{header|Raku}}: note use of 'ntheory' module, various twiddles) |
||
Line 4,388:
=={{header|Raku}}==
(formerly Perl 6)
{{libheader|ntheory}}
<lang perl6>use ntheory:from<Perl5> <factor is_prime>;
sub zumkeller ($range) {
$range.grep: -> $maybe {
next if $maybe < 3 or $maybe.&is_prime;
next unless [
▲ next unless [&&] +@divisors > 2, +@divisors %% 2, (my $sum = sum @divisors) %% 2, ($sum /= 2) >= $maybe;
my $zumkeller = False;
if $maybe % 2 {
$zumkeller = True
} else {
TEST:
@divisors.combinations($c).map: -> $d {
next if
$zumkeller = True and last TEST
}
}
Line 4,417 ⟶ 4,415:
put "\nFirst 40 odd Zumkeller numbers:\n" ~
zumkeller((^Inf).map: *
# Stretch. Slow to calculate. (minutes)
|