|
Serwis Edukacyjny w I-LO w Tarnowie
Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej
Autor artykułu: mgr Jerzy Wałaszek |
©2026 mgr Jerzy Wałaszek
|
Zbiór liczb naturalnych (bez liczby 1) można rozłożyć na dwa rozłączne podzbiory: zbiór liczb pierwszych i zbiór liczb złożonych. Liczba pierwsza posiada dokładnie dwa różne dzielniki: 1 i siebie samą. Pozostałe liczby są liczbami złożonymi (ang. composite numbers), które posiadają dodatkowo co najmniej dwa dzielniki oprócz 1 i siebie samych. Na przykład:
Liczby złożone w przedziale od 2 do 100:
4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 30, 32, 33, 34, 35, 36, 38, 39, 40, 42, 44, 45, 46, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 60, 62, 63, 64, 65, 66, 68, 69, 70, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 88, 90, 91, 92, 93, 94, 95, 96, 98, 99, 100.
Każdą liczbę złożoną da się jednoznacznie (tzn. tylko w dokładnie jeden sposób) przedstawić w postaci iloczynu liczb pierwszych, które są jej dzielnikami. Takie dzielniki nazywamy czynnikami pierwszymi (ang. prime factors). Jest to podstawowe twierdzenie arytmetyki.
Przykład:
60 = 2 · 2 · 3 · 5
Czynniki pierwsze mogą się powtarzać. Takie przedstawienie liczby złożonej w postaci iloczynu liczb pierwszych nazywamy rozkładem liczby na czynniki pierwsze.
Przykład:
Zaczynamy od p = 2:
Dane wyjściowe: rozkład na czynniki pierwsze liczby L
Pseudokod:
Program C++:
Algorytm nr 1 jest bardzo prymitywny, ale oczywiście daje poprawne wyniki. Spróbujemy go teraz stopniowo poprawić.
Na początek wyeliminujmy z dzielników liczby parzyste - tylko jeden dzielnik może być liczbą parzystą: 2. Zmniejszy to o połowę liczbę dzieleń.
Dane wyjściowe: rozkład na czynniki pierwsze liczby L
Pseudokod:
Program C++:
Przy algorytmach wyznaczania liczb pierwszych powiedzieliśmy, iż liczby złożone posiadają dzielniki w przedziale od 2 do pierwiastka z badanej liczby. Pozwala nam to istotnie zredukować liczbę wykonywanych dzieleń.
Dane wyjściowe: rozkład na czynniki pierwsze liczby L
Pseudokod:
Program C++:
Instrukcja break powoduje natychmiastowe wyjście z pętli. Tutaj wykorzystujemy ją w przypadku, gdy wszystkie czynniki pierwsze zostały już znalezione, nie ma zatem sensu szukanie dalszych.
Porównaj ze sobą algorytmy wyszukiwania liczb pierwszych metodą podzielników i sita Eratostenesa oraz algorytmy rozkładu na czynniki pierwsze. Znajdź ich wspólne cechy i zapamiętaj je.
Przy rozwiązywaniu problemu zaczynamy od algorytmu prostego, który nazywamy naiwnym. Następnie staramy się wyeliminować z niego operacje puste, co powoduje przyspieszenie algorytmu. Tutaj często przydaje się wiedza matematyczna i logiczna. Takie działanie nazywamy optymalizacją algorytmu. Algorytmy naiwne zwykle działają wolno, algorytmy zoptymalizowane zwykle działają szybciej, chociaż są bardziej skomplikowane – ta zasada często obowiązuje w informatyce dla wielu algorytmów.
Zapisz algorytm nr 3 w postaci listy kroków i schematu blokowego.
Więcej na temat rozkładu liczby naturalnej na czynniki pierwsze znajdziesz w osobnym artykule.
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2026 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.