Cursus Raku / Addendum 🆕 / Werken met gegevens / Getallen en wiskunde / Exercises / Volmaakte getallen
Oplossing: Volmaakte getallen
Hier is een mogelijke oplossing voor de taak.
Code
my @perfect = (1..30).grep: -> $n {
$n == [+] (1..^$n).grep($n %% *)
};
say @perfect;🦋 Je kunt de broncode vinden in het bestand perfect-numbers.raku.
Uitvoer
[6 28]Opmerkingen
(1..^$n).grep($n %% *)houdt de getallen onder$ndie het zonder rest delen — zijn echte delers. De%% *is een Whatever-functie die deelbaarheid test.[+]telt die delers op, en de buitenstegrephoudt alleen de getallen die gelijk zijn aan die som.