Raku kurss / Pielikums 🆕 / Darbs ar datiem / Skaitļi un matemātika / Exercises / Pilnīgie skaitļi
Risinājums: Pilnīgie skaitļi
Šeit ir iespējams risinājums uzdevumam.
Kods
my @perfect = (1..30).grep: -> $n {
$n == [+] (1..^$n).grep($n %% *)
};
say @perfect;🦋 Atrodiet programmu failā perfect-numbers.raku.
Izvade
[6 28]Komentāri
(1..^$n).grep($n %% *)patur skaitļus zem$n, kas to dala bez atlikuma, — tā īstos dalītājus.%% *ir Whatever funkcija, kas pārbauda dalāmību.[+]šos dalītājus saskaita, un ārējaisgreppatur tikai tos skaitļus, kas ir vienādi ar šo summu.