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
ijest 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
ndzieli się bez reszty przezi(n `mod` i == 0), toijest jednym z czynników pierwszychn. W takim przypadku,ijest dodawane do listy wynikowej, a funkcja jest rekurencyjnie wywoływana dlandivi, aby znaleźć pozostałe czynniki. - Przejście do kolejnego dzielnika: jeśli
nnie 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.