반응형
https://www.acmicpc.net/problem/1612
문제 해결 알고리즘
2와 5로 나눠지면 끝자리가 1이 나오지 않으므로 여기서 만약 나눠지면 -1을 출력한다.
숫자가 long long보다 길어지므로 모듈러 연산을 통해서 해결해준다.
소스 코드
#include <iostream>
#include <string>
using namespace std;
int main() {
long long a; cin >> a;
long long cmp = 1;
int result = 1;
if (a % 2 == 0 || a % 5 == 0) cout << -1;
else {
while (cmp % a != 0) {
result++;
cmp = (cmp % a) * 10 + 1;
}
cout << result;
}
}
반응형
'알고리즘 문제 해결 > BOJ' 카테고리의 다른 글
[DFS, 백트래킹] BOJ 1987 알파벳 (C++) + 내가 썼던 반례 (0) | 2022.04.30 |
---|---|
[BFS] BOJ 5014 스타트링크 (0) | 2022.04.28 |
[그리디] BOJ 1083 소트 (0) | 2022.04.22 |
[BFS] BOJ 21736 헌내기는 친구가 필요해 (0) | 2022.04.19 |
[구현] BOJ 15596 정수 N개의 합 (0) | 2022.04.16 |