# 최소 지폐 수 계산
// 장수 계산
int oman = price / 50000;
int man = price % 50000 / 10000;
int ochun = price % 10000 / 5000;
int chun = price % 5000 / 1000;
--> 5만원권은 이해가 되는데 그 이후부터
나눗셈과 나머지 연산을 이용한 장수계산의 원리가 이해가 잘 안갑니다ㅠㅠ
sehongpark님의 답변
## 특정 금액의 최소 지폐수 계산은
가장 큰 단위의 지폐부터 처리하면 되는데,
이를 위해 나눗셈과 나머지 연산이 사용되었습니다.
```
// 오만원 권 계산(나눗셈 연산)
int oman = price / 50000;
// 오만원 이상은 오만원권 지폐로 교환되겠죠? 따라서 나머지 연산자로 이를 먼저 제거한 후,(나머지 연산: price % 50000)
// 만원 권을 계산(나눗셈 연산)
int man = price % 50000 / 10000;
// 같은 원리로, 만원 이상 부분을 나머지 연산자로 제거(나머지연산)
// 그 다음 오천원 권을 계산(나눗셈 연산)
int ochun = price % 10000 / 5000;
// 오천원 이상 부분을 나머지 연산자로 제거 (나머지연산)
// 그 다음 천원 권을 계산(나눗셈 연산)
int chun = price % 5000 / 1000;
```
나머지 연산으로 앞서 처리된 영역을 걸러낸다고
보면 되겠습니다.
tyk0721님의 답변
아!! 이해됐습니다. 정말 감사합니다!!!