https://www.acmicpc.net/problem/1075
1075번: 나누기
첫째 줄에 N, 둘째 줄에 F가 주어진다. N은 100보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다. F는 100보다 작거나 같은 자연수이다.
www.acmicpc.net
우선 생각했던 건,
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 |