amazingtour

나머지 계산기

몫과 나머지를 동시 계산

최종 검토 · PERYMEDIA · 대표 김진성

이 계산기는 참고용입니다. 실제 금액·수치는 기관·제품별 기준에 따라 달라질 수 있습니다.

a를 b로 나눈 몫과 나머지를 함께 구합니다. 몫과 나머지 사이에는 a = b × 몫 + 나머지 관계가 항상 성립하므로, 결과가 의심되면 이 식으로 바로 검산할 수 있습니다.

음수에서 언어마다 답이 갈린다

양수끼리는 어느 방식이든 결과가 같습니다. 문제는 음수입니다. -17을 5로 나눈 나머지가 -2인지 3인지는 몫을 어느 방향으로 버리느냐에 달려 있고, 이 규칙이 언어마다 다릅니다.

방식몫의 반올림 방향나머지 부호-17÷5 나머지
JavaScript · Java · C/C++0을 향해 자름(truncate)피제수(왼쪽 값)와 같음-2
Python (%)음의 무한대로 내림(floor)제수(오른쪽 값)와 같음3
수학적 정의(모듈러 연산)나머지가 항상 0 이상이 되도록항상 양수 (0 이상, 제수 절댓값 미만)3

같은 코드를 다른 언어로 옮길 때 이 차이 때문에 조용히 결과가 바뀌는 일이 생깁니다. 배열 인덱스를 순환시키거나 요일을 계산하는 코드라면 음수 입력에서 한 칸씩 어긋납니다.

사례

17을 5로 나누면 몫 3, 나머지 2입니다. 검산하면 5 × 3 + 2 = 17로 맞습니다.

요일 계산처럼 항상 0 이상의 나머지가 필요하다면 수학적 정의(모듈러) 방식을 고르면 됩니다. -17을 5로 나눈 결과가 3이 되어, 그대로 요일 배열의 인덱스로 쓸 수 있습니다.

0으로는 나눌 수 없다

제수가 0이면 몫 자체가 정의되지 않아 나머지도 존재하지 않습니다. 계산기는 이 경우 결과 대신 안내를 표시합니다.

자주 묻는 질문

음수를 나눌 때 나머지가 언어마다 다른 이유는 무엇인가요?

몫을 반올림하는 방향이 언어마다 다르기 때문입니다. JavaScript·Java·C는 0을 향해 자르는 truncate 방식이라 나머지 부호가 피제수를 따르고, Python은 음의 무한대로 내리는 floor 방식이라 나머지 부호가 제수를 따릅니다.

몫과 나머지의 관계식은 무엇인가요?

피제수 = 제수×몫 + 나머지 입니다. 예를 들어 17÷5는 몫 3, 나머지 2이며 5×3+2=17로 검산할 수 있습니다. 이 관계식은 어떤 부호 규칙을 쓰든 항상 성립합니다.

함께 보면 좋은 계산기

소인수분해 계산기반올림·올림·버림 계산기퍼센트 계산기