reklama

Kalkulator modulo

Kalkulator modulo

Oblicz a mod b, także dla liczb ujemnych i dziesiętnych

Liczby mogą być ujemne i dziesiętne, z przecinkiem lub kropką.

Popularne dzielniki

Wynik

–

Wpisz dzielną i dzielnik.

Ten sam zapis w różnych miejscach

Matematyka (ten wynik)
–
Python: a % b
–
JavaScript, Java, C#: a % b
–

Kalkulator modulo oblicza a mod b, czyli resztę z dzielenia liczby a przez liczbę b. Wpisz dwie liczby, a wynik pojawi się od razu, razem z rozpisaniem a = b × q + r. Liczby mogą być ujemne i dziesiętne.

Przy dzielnikach od 2 do 24 kalkulator pokazuje wynik na tarczy zegara. Pod spodem znajdziesz porównanie z operatorem % w Pythonie i JavaScripcie, bo przy liczbach ujemnych daje on inne wyniki niż matematyka.

Co to jest modulo

Modulo to reszta z dzielenia. Zapis 17 mod 5 czytasz „17 modulo 5”, a jego wynik to 2: piątka mieści się w siedemnastce trzy razy, co daje 15, i zostają 2.

a mod b = a − b × ⌊a / b⌋

⌊a / b⌋ to wynik dzielenia zaokrąglony w dół

Ten wzór działa dla dodatniego dzielnika. Ogólnie wynik r to taka liczba, że a = b × q + r dla pewnej liczby całkowitej q i 0 ≤ r < |b|. Wynik jest więc zawsze nieujemny i mniejszy od dzielnika.

Przykłady modulo z wyjaśnieniem
Działanie Wynik Dlaczego Kalkulator
17 mod 5 2 17 = 5 × 3 + 2 Przelicz: 17 mod 5
125 mod 10 5 ostatnia cyfra liczby Przelicz: 125 mod 10
26 mod 24 2 18:00 + 8 godzin to 2:00 Przelicz: 26 mod 24
12 mod 7 5 środa + 10 dni to sobota Przelicz: 12 mod 7
−7 mod 3 2 −7 = 3 × (−3) + 2 Przelicz: −7 mod 3

Modulo jak zegar

Najłatwiej zrozumieć modulo na tarczy zegara. Gdy dochodzisz do końca, liczenie zaczyna się od zera. Doba ma 24 godziny, więc 8 godzin po 18:00 jest 2:00 w nocy: (18 + 8) mod 24 = 26 mod 24 = 2.

Tak samo działa tydzień. Ponumeruj dni od 0 (poniedziałek) do 6 (niedziela). Środa ma numer 2, więc 10 dni po środzie wypada dzień (2 + 10) mod 7 = 5, czyli sobota.

Kalkulator rysuje taką tarczę dla każdego całkowitego dzielnika od 2 do 24. Wskazówka staje na wyniku, a podpis mówi, ile pełnych okrążeń zrobiła po drodze.

Tabela modulo dla małych liczb

Wiersze to dzielna a, kolumny to dzielnik b, a w komórkach jest a mod b. Złote zera oznaczają, że liczba dzieli się bez reszty. Widać też, że wyniki w każdej kolumnie powtarzają się w kółko od 0 do b − 1.

Wartości a mod b dla a od 0 do 12 i b od 2 do 10
a mod 2 mod 3 mod 4 mod 5 mod 6 mod 7 mod 8 mod 9 mod 10
0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
2 0 2 2 2 2 2 2 2 2
3 1 0 3 3 3 3 3 3 3
4 0 1 0 4 4 4 4 4 4
5 1 2 1 0 5 5 5 5 5
6 0 0 2 1 0 6 6 6 6
7 1 1 3 2 1 0 7 7 7
8 0 2 0 3 2 1 0 8 8
9 1 0 1 4 3 2 1 0 9
10 0 1 2 0 4 3 2 1 0
11 1 2 3 1 5 4 3 2 1
12 0 0 0 2 0 5 4 3 2

Modulo liczb ujemnych i w programowaniu

W matematyce wynik modulo jest nieujemny, więc −7 mod 3 = 2, bo −7 = 3 × (−3) + 2. Operator % w językach programowania nie zawsze tak liczy. Dla liczb dodatnich wszystkie dają ten sam wynik, a przy ujemnych zależy on od języka.

Wynik operatora % dla liczb ujemnych w różnych językach programowania
Gdzie liczysz −7 % 3 7 % −3 Znak wyniku
Matematyka i ten kalkulator 2 1 zawsze nieujemny
Python 2 −2 jak dzielnik
JavaScript, Java, C, C++, C#, PHP −1 1 jak dzielna

Jeśli w JavaScripcie potrzebujesz wyniku matematycznego, użyj wyrażenia ((a % b) + Math.abs(b)) % Math.abs(b). Sprawdź w kalkulatorze: −7 mod 3

Własności modulo

Te zasady pozwalają liczyć modulo dużych liczb w pamięci: najpierw zmniejszasz składniki, a dopiero potem dodajesz lub mnożysz.

Okresowość
(a + k × b) mod b = a mod b dla każdej liczby całkowitej k. Dodanie pełnego okrążenia nie zmienia wyniku.
Suma
(a + c) mod b = ((a mod b) + (c mod b)) mod b
Różnica
(a − c) mod b = ((a mod b) − (c mod b)) mod b
Iloczyn
(a × c) mod b = ((a mod b) × (c mod b)) mod b. Na przykład 23 × 18 mod 5 = (3 × 3) mod 5 = 4.
Zero
0 mod b = 0 dla każdego dzielnika różnego od zera.

Gdzie używa się modulo

Parzystość
Liczba jest parzysta, gdy n mod 2 = 0. To najczęstsze użycie modulo w programowaniu.
Zegar i kalendarz
Godziny liczy się modulo 24 albo 12, minuty modulo 60, a dni tygodnia modulo 7.
Cyfry kontrolne
Ostatnią cyfrę numeru PESEL, numeru karty płatniczej i kodu kreskowego EAN-13 wylicza się z pozostałych cyfr modulo 10.
Programowanie
Modulo zawija indeks na początek listy, rozkłada dane w tablicach haszujących i pozwala robić coś co n-ty krok pętli.
Kryptografia i teoria liczb
Szyfrowanie RSA opiera się na potęgowaniu modulo. Na resztach z dzielenia działa też algorytm Euklidesa, którym liczy się NWD.

Najczęściej zadawane pytania

Co to jest modulo?

Modulo, zapisywane jako a mod b, to reszta z dzielenia liczby a przez liczbę b. Na przykład 17 mod 5 = 2, bo 17 = 5 × 3 + 2. Wynik jest zawsze mniejszy od dzielnika, więc przy mod 5 możesz dostać tylko 0, 1, 2, 3 albo 4.

Ile wynosi 0 mod n i 1 mod n?

0 mod n zawsze wynosi 0, bo zero dzieli się przez każdą liczbę różną od zera. 1 mod n wynosi 1 dla każdego dzielnika większego od 1, na przykład 1 mod 2 = 1 i 1 mod 3 = 1. Wyjątkiem jest 1 mod 1 = 0, bo przez 1 dzieli się każda liczba całkowita.

Czy można liczyć modulo przez zero?

Nie. Wyrażenie a mod 0 nie ma wartości, tak samo jak dzielenie przez zero. Kalkulator pokaże wtedy komunikat i poprosi o inny dzielnik. W programach takie działanie zwykle kończy się błędem.

Jak obliczyć modulo liczby ujemnej?

W matematyce wynik modulo jest nieujemny i mniejszy od wartości bezwzględnej dzielnika. Dlatego −7 mod 3 = 2, bo −7 = 3 × (−3) + 2. Języki programowania nie zawsze trzymają się tej zasady: w JavaScripcie, Javie, C i C++ wyrażenie −7 % 3 daje −1, a w Pythonie 2.

Czy modulo działa dla liczb dziesiętnych?

Tak. Wzór jest ten sam: od dzielnej odejmujesz największą wielokrotność dzielnika, która się w niej mieści. 7,5 mod 2 = 1,5, bo 7,5 = 2 × 3 + 1,5. Kalkulator liczy liczby dziesiętne dokładnie, bez błędów zaokrągleń, które zdarzają się w programach.

Jak sprawdzić podzielność liczby za pomocą modulo?

Jeśli a mod b = 0, liczba a dzieli się przez b bez reszty. 125 mod 5 = 0, więc 125 jest podzielne przez 5. Tak samo sprawdzisz parzystość: liczba jest parzysta, gdy jej modulo 2 wynosi 0.

Podsumowanie

Kalkulator modulo oblicza resztę z dzielenia a przez b dla liczb całkowitych, ujemnych i dziesiętnych. Przyda się do sprawdzania podzielności, zadań z arytmetyki modularnej i sprawdzania, co zwróci operator % w programie.

Zapamiętaj jedną zasadę: wynik a mod b jest nieujemny i mniejszy od dzielnika, a a = b × q + r.