Raku-Kurs / Anhang 🆕 / Arbeiten mit Daten / Zahlen und Mathematik / Exercises / Vollkommene Zahlen
Lösung: Vollkommene Zahlen
Hier ist eine mögliche Lösung der Aufgabe.
Code
my @perfect = (1..30).grep: -> $n {
$n == [+] (1..^$n).grep($n %% *)
};
say @perfect;🦋 Du findest den Quellcode in der Datei perfect-numbers.raku.
Ausgabe
[6 28]Kommentare
(1..^$n).grep($n %% *)behält die Zahlen unterhalb von$n, die es ohne Rest teilen — seine echten Teiler. Das%% *ist eine Whatever-Funktion, welche die Teilbarkeit prüft.[+]summiert diese Teiler, und das äußeregrepbehält nur die Zahlen, die dieser Summe gleichen.