Rozkład na czynniki pierwsze¶
Opis problemu¶
Implementacja¶
Opis¶
Funkcja primeFactors
przyjmuje dwa argumenty: liczbę n
, której czynniki pierwsze chcemy znaleźć, oraz początkowy dzielnik i
, zaczynając od 2.
- Warunek końca: jeśli
i
jest większe niżn
, oznacza to, że wszystkie możliwe czynniki pierwsze zostały już znalezione, więc funkcja zwraca pustą listę. - Znalezienie czynnika pierwszego: jeśli
n
dzieli się bez reszty przezi
(n `mod` i == 0
), toi
jest jednym z czynników pierwszychn
. W takim przypadku,i
jest dodawane do listy wynikowej, a funkcja jest rekurencyjnie wywoływana dlan
divi
, aby znaleźć pozostałe czynniki. - Przejście do kolejnego dzielnika: jeśli
n
nie dzieli się przezi
, funkcja jest wywoływana rekurencyjnie z inkrementowanymi
(i + 1
), aby sprawdzić kolejne potencjalne czynniki.
W głównym programie (main
) definiujemy liczbę n
(w tym przypadku 18) i wywołujemy funkcję primeFactors
, aby znaleźć jej czynniki pierwsze. Wynik, który jest listą czynników pierwszych liczby n
, jest następnie wyświetlany.