問題概要
問題ページ
-
C - Repsept
問題ページへ移動する
問題文
高橋君は \(K\) の倍数と \(7\) が好きです。
\(7,77,777,\ldots\) という数列の中に初めて \(K\) の倍数が登場するのは何項目ですか?
存在しない場合は代わりに -1
を出力してください。
制約
- \(1 \leq K \leq 10^6\)
- \(K\) は整数である。
問題の考察
ACコード
import sys
import collections
def solve():
input = sys.stdin.readline
mod = 10 ** 9 + 7
k = int(input().rstrip('\n'))
t = 7
dt = collections.defaultdict(int)
for i in range(10 ** 20):
d, m = divmod(t, k)
if m == 0:
print(i + 1)
exit()
else:
if m not in dt:
t = m * 10 + 7
dt[m]
else:
print(-1)
exit()
if __name__ == '__main__':
solve()