結果
問題 | No.25 有限小数 |
ユーザー |
|
提出日時 | 2020-05-01 20:25:02 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 38 ms / 5,000 ms |
コード長 | 915 bytes |
コンパイル時間 | 195 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 10,624 KB |
最終ジャッジ日時 | 2024-12-24 18:45:09 |
合計ジャッジ時間 | 2,299 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 31 |
ソースコード
N, M = int(input()), int(input())def to_and_five(num, lists={2:0, 5:0}):if num == 1:return listsif num % 2 == 0:lists[2] += 1return to_and_five(num // 2, lists)if num % 5 == 0:lists[5] += 1return to_and_five(num // 5, lists)return Falsedef prime(n, m):if n < m:n, m = m, nif not (tmp := n % m):return melse:return prime(m, tmp)if N % M == 0:ans = N // Mwhile not ans % 10:ans //= 10ans %= 10else:N, M = N // (tmp := prime(N, M)), M // tmpif (tmp := to_and_five(M)):if N >= 10:N %= 10if tmp[2] > tmp[5]:for i in range(tmp[2] - tmp[5]):N *= 5elif tmp[2] < tmp[5]:for i in range(tmp[5] - tmp[2]):N *= 2ans = N % 10else:ans = -1print(ans)