https://www.acmicpc.net/problem/1075
우선 생각했던 건,
1. 주어진 숫자 뒷자리 두개를 00으로 만들어서 처음부터 시작하게 해야겠다.
2. 하나씩 값 더해가면서 f로 나뉘어떨어지는지 계속 비교
3. 나눠떨어지면 마지막 두자리(값이 얼마나 더해졌는지) 출력해주면 되고
4. 만약 한자리면 앞에 0 붙여줘서 출력해주면 되겠다.
#include <iostream>
using namespace std;
int main()
{
unsigned int n;
unsigned short f;
int answer = 0;
cin >> n;
cin >> f;
n = (n / 100) * 100; // 마지막 뒷 자리 두개 0으로 만들기.
while ((n + answer) % f != 0 && answer < 100)
answer++;
if (answer < 10)
cout << 0 << answer; // 한자리면 앞에 0 붙여야해서.
else
cout << answer;
return 0;
}
'백준 문제풀이 > 브론즈2' 카테고리의 다른 글
백준 1173 - 운동 (0) | 2021.11.10 |
---|---|
백준 1264번 - 모음의 개수 (0) | 2021.10.26 |
백준 1152번 - 단어의 갯수 (0) | 2021.10.20 |
백준 1159번 - 농구 경기 (0) | 2021.10.20 |
백준 1100번 - 하얀 칸 (0) | 2021.10.20 |