結果
| 問題 |
No.25 有限小数
|
| コンテスト | |
| ユーザー |
mkawa2
|
| 提出日時 | 2020-01-06 11:34:50 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 558 ms / 5,000 ms |
| コード長 | 754 bytes |
| コンパイル時間 | 211 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 44,220 KB |
| 最終ジャッジ日時 | 2024-11-22 23:55:25 |
| 合計ジャッジ時間 | 18,109 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 31 |
ソースコード
import sys
sys.setrecursionlimit(10 ** 6)
import numpy as np
def II(): return int(sys.stdin.readline())
def main():
def lowest(a):
while a%10==0:a//=10
a%=10
print(a)
exit()
def cnt_factor(m):
c2=c5=0
while m&1==0:
m>>=1
c2+=1
while m%5==0:
m//=5
c5+=1
if m==1:return c2,c5
return -1,-1
n=II()
m=II()
g=np.gcd(m,n)
n,m=n//g,m//g
if m==1:lowest(n)
c2,c5=cnt_factor(m)
if c2==-1:print(-1)
elif c2==c5:lowest(n)
elif c2>c5:print(5)
else:
#/5=*0.2なのでc5回2をかけたときの最下位の数が答え
c5-=c2
n%=5
print(pow(2,c5,10)*n%10)
main()
mkawa2