Raku kurss / Pielikums 🆕 / Darbs ar datiem / Skaitļi un matemātika / Exercises / Sadalīšana pirmreizinātājos
Risinājums: Sadalīšana pirmreizinātājos
Šeit ir iespējams risinājums uzdevumam.
Kods
my $n = 360;
my @factors;
for 2..$n -> $d {
while $n %% $d {
@factors.push($d);
$n div= $d;
}
}
say @factors;🦋 Atrodiet programmu failā prime-factors.raku.
Izvade
[2 2 2 3 3 5]Komentāri
Katram kandidātam
$diekšējaiswhileto izdala no$ntik reižu, cik tas ietilpst, katrreiz ieliekot$dmasīvā. Tā kā mazākie reizinātāji tiek noņemti pirmie, katrs$d, kas vēl dala$n, noteikti ir pirmskaitlis.$n div= $dir veselo skaitļu dalīšana atpakaļ$n; tā skaitli sarauj, līdz paliek vairs tikai1.
Kursa navigācija
← Sadalīšana pirmreizinātājos | Lielākais kopīgais dalītājs un mazākais kopīgais dalāmais →