Przejdź do wyników
Nauka i matematyka

Kalkulator reszty z dzielenia i modulo

Dzielenie z resztą zapisuje się jako a = n · q + r, gdzie q to iloraz całkowity, a r — reszta.

Przejdź do kalkulatora

Dzielenie z resztą zapisuje się jako a = n · q + r, gdzie q to iloraz całkowity, a r — reszta. Dla 100 ÷ 7 wychodzi q = 14, r = 2, bo 100 = 7 · 14 + 2. Przy liczbach ujemnych uwaga: matematyczne modulo daje zawsze wynik nieujemny (−7 mod 3 = 2), a operator % w C, Javie i JavaScripcie — wynik ze znakiem dzielnej (−7 % 3 = −1). Kalkulator pokazuje obie wartości.

Opracowanie:

Dzielenie z resztą

Podaj dzielną i dzielnik. Liczby ujemne są dozwolone — zobaczysz wtedy obie konwencje.

Liczby

Wyniki

Wyniki dla dzielenia całkowitego.

Reszta
–
–
Iloraz całkowity
–
–
Sprawdzenie
–
–
Operator % w JS, C, Javie
–
–
–
–
Szczegóły obliczeń
Modulo matematyczne (Python, Ruby)–
Dlaczego różnią się dla ujemnych–
Podzielność–
Wynik dzielenia zwykłego–
Kongruencja–
Zastosowanie cykliczne–

Reszta z dzielenia przez typowe dzielniki

Dla liczby wpisanej wyżej. Tabela przelicza się razem z kalkulatorem.

DzielnikIloraz całkowityResztaDzieli bez reszty?
500tak
331nie
250tak
200tak
164nie
142nie
124nie
111nie
100tak
84nie
44nie
140nie
10tak

Jak działa kalkulator

Dzielenie z resztą to rozłożenie liczby a na wielokrotność dzielnika plus to, co zostaje: a = n · q + r. Iloraz q jest liczbą całkowitą, a reszta r mieści się między 0 a |n| − 1.

Przykład: 100 ÷ 7. Siódemka mieści się w setce 14 razy (7 · 14 = 98), zostaje 2. Zapis: 100 = 7 · 14 + 2, czyli reszta wynosi 2.

Modulo to nazwa tej operacji w programowaniu i teorii liczb. Zapis a mod n albo a % n oznacza właśnie resztę. Dwie liczby dające tę samą resztę nazywa się przystającymi modulo n i zapisuje a ≡ b (mod n).

Do czego to służy: parzystość (mod 2), dzień tygodnia (mod 7), godziny (mod 12 i 24), minuty i sekundy (mod 60), cyfra kontrolna w PESEL-u i numerze konta, rozkładanie elementów po kolei między n pojemników.

Reszta z dzielenia jest narzędziem, nie ciekawostką. Na niej opiera się sprawdzanie podzielności: liczba jest liczbą pierwszą wtedy, gdy żadne dzielenie poniżej jej pierwiastka nie daje reszty zero. Ten sam mechanizm zamienia liczbę na inny system zapisu — konwerter systemów liczbowych dzieli przez podstawę i zbiera kolejne reszty, czytane od końca.

Jak liczymy (metodologia i wzory)

Dwie konwencje dla liczb ujemnych

Tu zaczyna się jedyna realna pułapka. Wynik zależy od tego, jak zaokrągla się iloraz:

  • Dzielenie w dół (floor): q = ⌊a/n⌋. Dla −7 ÷ 3 daje to ⌊−2,333⌋ = −3, więc r = −7 − 3 · (−3) = 2. Reszta jest zawsze nieujemna dla dodatniego dzielnika. Tak liczy matematyka, Python i Ruby.
  • Obcięcie do zera (truncate): q = trunc(a/n). Dla −7 ÷ 3 daje to −2, więc r = −7 − 3 · (−2) = −1. Reszta ma znak dzielnej. Tak działa operator % w C, C++, Javie, JavaScripcie i PHP.

Oba wyniki są poprawne — różnią się pytaniem, na które odpowiadają. Różnica ilorazów o jeden przesuwa resztę dokładnie o dzielnik: 2 − 3 = −1.

Jak uzyskać wynik nieujemny w JavaScripcie

Zamiast a % n trzeba napisać ((a % n) + n) % n. To standardowy idiom — dodanie dzielnika przesuwa ujemną resztę do właściwego przedziału, a drugie modulo przycina wynik, gdy pierwsza reszta była już nieujemna.

Kongruencja

Zapis a ≡ b (mod n) znaczy, że a i b dają tę samą resztę z dzielenia przez n, czyli że ich różnica jest podzielna przez n. Na tym opiera się arytmetyka modularna — podstawa kryptografii klucza publicznego i cyfr kontrolnych.

FAQ

Jak obliczyć resztę z dzielenia?

Podziel a przez n, weź część całkowitą ilorazu i pomnóż z powrotem przez n — to, co zostaje do a, jest resztą. Dla 100 ÷ 7: 7 · 14 = 98, więc reszta to 2.

Co to jest modulo?

To nazwa operacji „reszta z dzielenia”. Zapis a mod n lub a % n zwraca resztę. Wynik zawsze mieści się między 0 a n − 1 przy dodatnim dzielniku.

Ile wynosi −7 mod 3?

2 w konwencji matematycznej (i w Pythonie), ale −1, jeśli użyjesz operatora % w C, Javie, PHP lub JavaScripcie. Różnica bierze się ze sposobu zaokrąglania ilorazu: w dół (−3) albo do zera (−2).

Dlaczego JavaScript daje inny wynik niż Python?

Bo używają innej konwencji dzielenia. Python zaokrągla iloraz w dół, więc reszta jest zawsze nieujemna. JavaScript obcina iloraz do zera, więc reszta przejmuje znak dzielnej. Oba wyniki spełniają a = n · q + r, tylko z różnym q.

Jak w JavaScripcie uzyskać zawsze dodatnią resztę?

Zamiast a % n napisz ((a % n) + n) % n. Dodanie dzielnika przesuwa ujemny wynik do właściwego przedziału, a drugie modulo nic nie zmienia, gdy reszta była już nieujemna.

Co znaczy zapis a ≡ b (mod n)?

Że a i b dają tę samą resztę z dzielenia przez n — równoważnie, że ich różnica dzieli się przez n. Na przykład 100 ≡ 44 (mod 7), bo obie dają resztę 2.

Jak sprawdzić parzystość liczby?

Podziel modulo 2. Reszta 0 oznacza liczbę parzystą, reszta 1 — nieparzystą. To najczęstsze zastosowanie modulo w programowaniu.

Do czego używa się reszty z dzielenia w praktyce?

Do wszystkiego, co jest cykliczne: dni tygodnia (mod 7), godziny (mod 12 i 24), minuty (mod 60), rozkładanie zadań po kolei między n serwerów. Także do cyfr kontrolnych — PESEL, NIP i numer konta bankowego opierają się na arytmetyce modularnej.

Czy reszta może być większa od dzielnika?

Nie. Z definicji reszta spełnia 0 ≤ r < |n| — gdyby była większa lub równa dzielnikowi, dałoby się jeszcze raz odjąć dzielnik i zwiększyć iloraz.

Założenia i ograniczenia

  • Kalkulator pracuje na liczbach całkowitych. Wartości z przecinkiem są zaokrąglane do najbliższej całkowitej przed liczeniem.
  • Główny wynik („Reszta”) podaje konwencję matematyczną, czyli dzielenie w dół. Wartość operatora % pokazana jest osobno.
  • Dzielenie przez zero nie jest określone — kalkulator mówi to wprost zamiast pokazywać nieskończoność.
  • Zakres to ±1 000 000 000. Powyżej 2⁵³ arytmetyka przeglądarki przestaje być dokładna dla liczb całkowitych, więc granica jest ustawiona z dużym zapasem.

Źródła i aktualizacja

  • Twierdzenie o dzieleniu z resztą: dla każdych całkowitych a i n ≠ 0 istnieje dokładnie jedna para q, r taka, że a = nq + r i 0 ≤ r < |n|.
  • Konwencje zaokrąglania ilorazu: ISO/IEC 9899 (C) — obcięcie do zera; dokumentacja języka Python — dzielenie w dół.
  • Arytmetyka modularna i kongruencje — Gauss, Disquisitiones Arithmeticae.

Umieść ten kalkulator na swojej stronie

Skopiuj kod i wklej go w swoim artykule. Kalkulator zadziała na Twojej stronie, a pod nim pojawi się link do źródła. Za darmo, bez rejestracji.

Motyw: