Курс по Raku / Приложение 🆕 / Работа с данни / Числа и математика / Exercises / Разлагане на прости множители
Решение: Разлагане на прости множители
Ето едно възможно решение на задачата.
Код
my $n = 360;
my @factors;
for 2..$n -> $d {
while $n %% $d {
@factors.push($d);
$n div= $d;
}
}
say @factors;🦋 Намерете програмата във файла prime-factors.raku.
Изход
[2 2 2 3 3 5]Коментари
За всеки кандидат-делител
$dвътрешниятwhileго изважда от$nтолкова пъти, колкото се побира, като всеки път добавя$d. Понеже по-малките множители се махат първи, всяко$d, което още дели$n, гарантирано е просто.$n div= $dе целочислено деление обратно в$n; то смалява числото, докато не остане само1.
Навигация в курса
← Разлагане на прости множители | Най-голям общ делител и най-малко общо кратно →