728x90
#1612 가지고 노는 1
import sys
input = sys.stdin.readline
N = int(input())
if N == 1:
print(1)
elif N % 2 == 0 or N % 5 == 0:
print(-1)
else:
x = 1
time = 1
while x != 0:
x += (9*x + 1) % N
x = x % N
time += 1
print(time)
10^n을 계속해서 더하면 되는 것이므로,
1 -> (9 x 1 + 1) + 1 = 11 - > (11 x 9 + 1) + 11 = 111 -> ... 꼴로 나타내어줄 수 있다.
항상 N으로 나누어주면서 큰 수가 나오지 않도록 막아주는것이 중요한 포인트가 되겠다.
'코딩' 카테고리의 다른 글
[BOJ] 백준 9814 Coding of Permutations Python (0) | 2023.10.28 |
---|---|
[BOJ] 백준 1759 암호만들기 Python (1) | 2023.10.28 |
[BOJ] 백준 3944 나머지계산 Python (0) | 2023.10.27 |
[BOJ] 백준 2981 검문 Python (0) | 2023.10.27 |
[BOJ] 백준 1684 같은 나머지 Python (0) | 2023.10.27 |