Cursus Raku / Addendum 🆕 / Cum datis laborare / Numeri et mathematica / Exercises / Numeri perfecti

Solutio: Numeri perfecti

Ecce solutio possibilis huius exercitationis.

Codex

my @perfect = (1..30).grep: -> $n {
    $n == [+] (1..^$n).grep($n %% *)
};

say @perfect;

🦋 Inveni codicem fontem in archivo perfect-numbers.raku.

Exitus

[6 28]

Commentarii

  1. (1..^$n).grep($n %% *) numeros infra $n servat qui illum aequaliter dividunt — divisores eius proprios. %% * functio Whatever est quae divisibilitatem probat.

  2. [+] illos divisores summat, et grep externum solos numeros servat qui illi summae aequant.

Numeri perfecti   |   Resolutio in factores primos