반응형
1075_나누기
링크
https://www.acmicpc.net/problem/1075
풀이
뒤 두 자리를 적절히 바꿔서 나누어 떨어지게 만든다.
가능한 것이 여러 가지면, 뒤 두자리를 가능하면 작게 만드려고 한다.
(가능한 경우가 없을 경우는 나와있지 않으니 고려하지 않겠습니다.)
위의 두 가지 경우를 생각해보면, 정수가 주어졌을 때 뒤의 두 정수를 떼어내고 0부터 99까지 더해서 나누어 떨어질 경우 stop한 다음 조건에 맞게 출력해주면 됩니다. 조건은 앞에 0을 채워서 출력하는 것입니다.
두 정수를 떼어내는 방법은 100으로 나누고 다시 100을 곱하거나, 나머지 연산으로 100한 것을 빼면 됩니다. 0을 채워서 출력하는 것은 printf에서 %02d를 사용하면 됩니다.
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
//1075_나누기 #include <cstdio> using namespace std;
int n, f; int ans;
int main() { scanf("%d %d", &n, &f); n -= (n % 100); //뒤 두 자리 0
while (true) { if ((n + ans) % f == 0) break; ans++; }
printf("%02d\n", ans);
return 0; } |
반응형
'PS > BOJ' 카테고리의 다른 글
[백준 BOJ] 1100 하얀 칸 (0) | 2018.11.08 |
---|---|
[백준 BOJ] 1076 저항 (0) | 2018.11.05 |
[백준 BOJ][dfs] 1012 유기농 배추 (0) | 2018.11.03 |
[백준 BOJ] 11497 통나무 건너뛰기 (0) | 2018.11.02 |
[백준 BOJ] 15553 난로 (0) | 2018.11.01 |