Największy Wspólny Dzielnik - algorytm Euklidesa
Sposób znajdowania Największego Wspólnego Dzielnika dwóch liczb naturalnych:
- Wczytaj dwie liczby naturalne m i n
- Jeżeli m = n, to NWD(m, n) = n
- Jeżeli m > n, to obliczamy m = m - n i wracamy do punktu 2.
- Jeżeli m < n, to obliczamy n = n - m i wracamy do punktu 2.
Wyszukiwanie liczb pierwszych z ciągu liczb naturalnych - sito Eratostenesa
Algorytm służy do wyszukania wszystkich liczb pierwszych spośród N początkowych liczb naturalnych.
Opis algorytmu:
- Z ciągu liczb naturalnych 1, 2, 3, ...N wybieramy pierwszą liczbę różną od 1 (na początku będzie to 2).
- Wykreślamy z zadanego przedziału wszystkie wielokrotności wybranej liczby większe od niej samej (dla 2 będzie to: 4, 6, 8, ...).
- Jeżeli w ciągu pozostała jeszcze jakaś liczba większa od wybranej i mniejsza od N, to wracamy do punktu 1 (po 2 powinno to być 3).
- Dla danej liczby N wszystkie niewykreślone liczby ciągu mniejsze od N są liczbami pierwszymi.
Faktoryzacja (rozkład na czynniki pierwsze) - metoda Fermata
Algorytm faktoryzacji (rozkładu dowolnej liczby naturalnej N na czynniki pierwsze):
- Ustaw najmniejszy możliwy dzielnik D = 2.
- Jeżeli N = 1, to zakończ algorytm.
- Jeżeli reszta z dzielenia N / D = 0, to:
- Wypisz D (D jest najmniejszym dzielnikiem naturalnym liczby N).
- Oblicz N = N / D.
- Wróć do kroku 2.
- Jeżeli D jest większe od pierwiastka z N, to przejdź do kroku 6.
- Zwiększ D o 1 i wróć do kroku 3.
- N jest ostatnim dzielnikiem liczby.
Obliczania pierwiastka kwadratowego - algorytm Newtona-Raphsona
Algorytm obliczania przybliżona wartość pierwiastka kwadratowego z liczby X z dokładnością ε:
- Przyjmij dowolną wartość zmiennej pomocniczej P
- Oblicz: a = (P + X / P) / 2
- Jeśli |P - a| < ε, to zakończ algorytm.
- W przeciwnym przypadku przyjmij P = a i wróć do kroku 2.
Konwersja liczby z systemu dziesiętnego na binarny
Algorytm zamiany dowolnej liczby naturalnej N z systemu dziesiętnego na binarny:
- Utwórz pusty łańcuch znaków s = "" na zapamiętanie wyniku.
- Oblicz resztę z dzielenia r = N / 2.
- Dopisz r na początku zmiennej s.
- Wykonaj dzielenie całkowite: N = N \ 2.
- Jeżeli N = 0, to zakończ algorytm.
- W przeciwnym razie wróć do kroku 2.