https://www.acmicpc.net/problem/2033
문제를 그대로 따라가면 된다.
예를들어 324가 입력이 되면
324는 10보다 크기 때문에 1의 자리(10으로 나눈 나머지)에서 반올림한다.
320은 100보다 크기 때문에 10의 자리(100으로 나눈 나머지)에서 반올림한다.
300은 1000보다 작기 때문에 위 과정을 끝마친다.
1의 자리 또는 10의 자리라고 말을 꼬아놨지만 사실은 비교할 때 쓰이는 값 10,100,...을 그대로 사용하면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include<stdio.h> int round(int Q, int R) { if (R>=Q/2) return Q; else return 0; } int main() { int n; int Q = 10; scanf("%d",&n); while (n > Q) { n = (n-n%Q) + round(Q,n%Q); Q *= 10; } printf("%d\n",n); system("pause"); return 0; } | cs |
'백준' 카테고리의 다른 글
1003)피보나치 함수 (0) | 2019.02.04 |
---|---|
3023)마술사 이민혁 (0) | 2019.02.04 |
1912)연속합 (0) | 2019.02.04 |
2804)크로스워드 만들기 (0) | 2019.02.03 |
5032)탄산 음료 (0) | 2019.02.03 |