Raku-Kurs / Anhang 🆕 / Arbeiten mit Daten / Zahlen und Mathematik / Exercises / Primfaktorzerlegung
Lösung: Primfaktorzerlegung
Hier ist eine mögliche Lösung der Aufgabe.
Code
my $n = 360;
my @factors;
for 2..$n -> $d {
while $n %% $d {
@factors.push($d);
$n div= $d;
}
}
say @factors;🦋 Du findest den Quellcode in der Datei prime-factors.raku.
Ausgabe
[2 2 2 3 3 5]Kommentare
Für jeden Teilerkandidaten
$dteilt das innerewhileihn so oft aus$nheraus, wie er hineinpasst, und pusht dabei jedes Mal$d. Weil die kleineren Faktoren zuerst entfernt werden, ist jedes$d, das$nnoch teilt, mit Sicherheit prim.$n div= $dist eine Ganzzahldivision zurück in$n; sie schrumpft die Zahl, bis nichts als1übrig bleibt.
Kursnavigation
← Primfaktorzerlegung | Größter gemeinsamer Teiler und kleinstes gemeinsames Vielfaches →