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.
| 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.
| 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.
| 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.