Baekjoon Online Judge
문제
두 정수 N과 F가 주어진다. 지민이는 정수 N의 가장 뒤 두 자리를 적절히 바꿔서 N을 F로 나누어 떨어지게 만들려고 한다. 만약 가능한 것이 여러 가지이면, 뒤 두 자리를 가능하면 작게 만들려고 한다.
예를 들어, N=275이고, F=5이면, 답은 00이다. 200이 5로 나누어 떨어지기 때문이다. N=1021이고, F=11이면, 정답은 01인데, 1001이 11로 나누어 떨어지기 때문이다.
입력
첫째 줄에 N, 둘째 줄에 F가 주어진다. N은 100보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다. F는 100보다 작거나 같은 자연수이다.
출력
첫째 줄에 마지막 두 자리를 모두 출력한다. 한자리이면 앞에 0을 추가해서 두 자리로 만들어야 한다.
예제 입력 | 예제 출력 |
1000 3 |
02 |
2000000000 100 |
00 |
23442 75 |
00 |
428392 17 |
15 |
32442 99 |
72 |
풀이
#include <iostream>
using namespace std;
int main() {
int N, F;
cin >> N >> F;
int num;
for (int i = 0; i < 100; i++) {
// N의 뒤 두 자리수를 변경하면서 F로 나누어 떨어지는 수 찾기
num = (N / 100) * 100 + i;
if (num % F == 0) {
num = i;
break;
}
}
// 출력
if (num < 10)
printf("0%d\n", num);
else
printf("%d", num);
return 0;
}
일단 (N / 100) * 100을 통해 입력한 숫자의 뒤 두자리 숫자를 00으로 초기화했다. 그리고 이 숫자를 1씩 증가시키면서 F로 나누어 떨어지는 수를 찾았다.
'백준 > C++' 카테고리의 다른 글
[Baekjoon/C++] 하얀 칸 1100번 (0) | 2022.04.21 |
---|---|
[Baekjoon/C++] 저항 1076번 (0) | 2022.04.21 |
[Baekjoon/C++] 명령 프롬프트 1032번 (0) | 2022.04.21 |
[Baekjoon/C++] 분산처리 1009번 (0) | 2022.04.21 |
[Baekjoon/C++] 음계 2920번 (0) | 2022.04.13 |