PRACTICAL GUIDE
반올림하면 생기는 합계 오차와 해결법
작성·검토: 2026년 9월 12일 · 메이플급처템
정수 단위까지 합계를 맞추는 최대잔여법의 계산 예시.
정수 단위의 금액을 비율대로 나누면 소수가 생길 수 있습니다. 각 행을 따로 반올림하면 전체 합계가 원래 금액보다 크거나 작아질 수 있어, 합계까지 맞추는 규칙이 필요합니다. 메이플 묶음분배는 최대잔여법을 사용합니다.
행마다 반올림하면 생기는 일
가상으로 10원을 세 행에 같은 비중으로 나누면 각 행의 정확한 몫은 10/3원입니다. 이를 각각 3원으로 만들면 합계가 9원이 되어 1원이 남습니다. 모든 행을 4원으로 만들면 합계는 12원으로 총액을 넘습니다. 각 행만 보고 정수로 바꾸는 것으로는 합계가 자동으로 맞지 않습니다.
먼저 내림하고, 남은 단위를 배정하기
- 확인한 비용을 총액에서 한 번 빼 분배할 금액을 구합니다.
- 분배 금액에 각 행의 가중치를 곱하고 전체 가중치로 나눕니다.
- 각 몫의 정수 부분을 먼저 배정합니다.
- 아직 남은 정수 단위를 나머지가 큰 행부터 하나씩 더합니다.
위의 10원 예시에서는 먼저 3원씩 배정해 9원이 됩니다. 나머지는 세 행이 같으므로 화면의 첫 행에 1원을 더합니다. 결과는 4원·3원·3원이며 합계는 10원입니다. 같은 입력과 같은 행 순서라면 결과도 같습니다.
메소 단위의 별도 가상 예시
분배할 금액 11메소를 1:2 비중으로 나누면 몫은 각각 11/3, 22/3메소입니다. 정수 부분 3메소와 7메소를 먼저 배정합니다. 나머지가 더 큰 첫 행에 1메소를 더하면 4메소·7메소, 합계 11메소가 됩니다. 이 예시는 원과 메소를 환산한 값이 아닙니다.
같은 나머지에서는 행 순서가 기준
잔여 단위를 받을 우선순위는 나머지가 큰 순서입니다. 나머지도 같으면 화면 위쪽 행부터 배정합니다. 이 규칙은 계산을 반복해도 결과가 흔들리지 않게 하기 위한 기준이며, 앞 행의 가치가 더 높다는 뜻은 아닙니다. 공정성에 관한 별도 합의가 필요하다면 계산 전에 행 순서를 정하세요.
0과 미입력은 다르게 계산
가중치 0은 해당 행에 금액을 배정하지 않겠다는 명시적인 입력입니다. 빈칸은 아직 정하지 않은 값이므로 전체 분배를 보류합니다. 모든 가중치가 0이면 비율을 정할 수 없어 계산하지 않습니다. 분배 금액이 0이고 가중치 합이 양수라면 각 행의 배분액은 모두 0으로 표시됩니다.
큰 금액에서도 정수로 계산
이 도구는 허용 범위 안의 정수를 BigInt로 계산해, 큰 금액을 곱하는 중간 단계에서도 소수점 반올림으로 정수 자릿수가 바뀌지 않도록 합니다. 입력 한도는 총액·비용·각 가중치에 9,000,000,000,000입니다. 입력 범위는 도구의 제한이며 게임의 거래 한도를 설명하는 숫자가 아닙니다.
최종 표에는 잔여 1단위를 더 받은 행을 표시하고, 배분 합계를 함께 제공합니다. 이 합계는 비용 차감 후 분배할 금액과 일치합니다.
도구는 무료이며 상담 없이 사용할 수 있습니다. 입력값을 서버에 전송하거나 저장하지 않습니다.