전체 도구›나머지 계산

나머지 계산

음수 나눗셈의 나머지 규칙 비교와 거듭제곱의 나머지(a^k mod b)

두 정수를 나눈 몫과 나머지를 구합니다. 음수가 섞였을 때 수학, 프로그래밍 언어, 엑셀이 서로 다른 나머지를 내는 이유를 나란히 보여 주고, 큰 거듭제곱의 나머지도 계산합니다.

값 입력

음수 가능, 30자리까지

1이면 일반 나머지만 계산합니다.

계산 결과

나머지 (0 이상)3
몫-4
검산-17 = 5 × (-4) + 3
프로그래밍 방식 (몫 0쪽 절사)몫 -3, 나머지 -2
엑셀 MOD (나누는 수의 부호)3
참고용 추정치입니다. 실제 신고·납부 전에는 관계 기관이나 전문가에게 확인하세요.

1계산 방법

  • 수학의 나눗셈 정리는 a = b×q + r, 0 ≤ r < |b| 를 만족하는 q와 r을 구합니다. -17 ÷ 5는 몫 -4, 나머지 3입니다.
  • C, Java, JavaScript의 %는 몫을 0 쪽으로 버리므로 -17 % 5 = -2입니다. 엑셀 MOD와 파이썬 %는 결과가 나누는 수와 같은 부호를 가집니다.
  • a^k mod b는 a^k를 직접 계산하지 않고 제곱을 반복하며 매번 나머지를 취해 구합니다. 7^100을 13으로 나눈 나머지도 바로 나옵니다.

2결과 읽는 법

  • 나머지 (0 이상)는 교과서의 정의를 따른 값입니다. 검산 줄로 a = b×q + r이 맞는지 확인할 수 있습니다.
  • 세 가지 방식은 a와 b가 모두 양수이면 같은 값을 냅니다. 음수가 섞일 때만 달라집니다.

3알아두면 좋은 점

  • 요일 계산에 나머지를 씁니다. 오늘부터 100일 뒤 요일은 100을 7로 나눈 나머지만큼 요일을 옮기면 됩니다.
  • 프로그램에서 음수 나머지를 0 이상으로 맞추려면 ((a % b) + b) % b 처럼 씁니다.
  • 거듭제곱의 일의 자리는 a^k mod 10으로 구할 수 있습니다.

4자주 묻는 질문

나머지는 항상 나누는 수보다 작나요?
0 이상 기준으로는 항상 0 이상 |b| 미만입니다. 프로그래밍 방식은 음수가 될 수 있지만 절댓값은 |b|보다 작습니다.
소수도 나머지를 구할 수 있나요?
이 계산기는 정수만 다룹니다. 소수의 나머지는 공학용 계산기로 a - b×floor(a÷b)를 계산하세요.

5이런 경우가 있었습니다

음수 나머지를 몰랐던 경우

쇼핑몰 개발을 맡은 우태경 씨는 요일을 계산하는 코드에 %를 그대로 썼습니다. 과거 날짜를 넣으면 나머지가 음수가 되는 줄 몰랐고, 지난 주문 조회 화면에서 요일이 비어 나오는 오류가 한참 뒤에야 고객 문의로 발견됐습니다.

세 방식을 비교해 본 경우

같은 회사 설나윤 씨는 날짜 계산 코드를 짜기 전에 음수가 들어갈 때 언어마다 나머지가 어떻게 나오는지 먼저 비교했습니다. 0 이상으로 맞추는 한 줄을 넣어 두었고, 과거·미래 날짜 모두에서 같은 결과가 나오는 것을 확인했습니다.

음수를 나누면 나머지가 어떻게 나올지, 당신이 쓰는 도구의 규칙을 알고 있나요?

위 두 이야기는 이해를 돕기 위해 가상으로 구성한 사례입니다. 실제 인물이나 사건과 무관합니다.

근거 · 나눗셈 정리(정수론), ECMAScript 나머지 연산자 규격, Microsoft Excel MOD 함수 정의

적용된 세율·기준값 확인 →