結果
問題 | No.1464 Number Conversion |
ユーザー |
![]() |
提出日時 | 2021-04-02 22:12:54 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 911 bytes |
コンパイル時間 | 194 ms |
コンパイル使用メモリ | 82,276 KB |
実行使用メモリ | 59,208 KB |
最終ジャッジ日時 | 2024-12-23 19:43:30 |
合計ジャッジ時間 | 2,632 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 28 WA * 1 |
ソースコード
x = input() if "." in x: a, b = x.split(".") bunshi = 0 bunbo = 0 bunshi = int(a) * pow(10, len(b)) + int(b) bunbo = pow(10, len(b)) else: bunshi = int(x) bunbo = 1 # 素因数分解 def prime_factor(n): # (素因数, 数)のリストで出てくる d = {} for i in range(2, int(n ** 0.5) + 1): while n % i == 0: if i in d: d[i] += 1 else: d[i] = 1 n //= i if n != 1: if n in d: d[n] += 1 else: d[n] = 1 return d a = prime_factor(bunbo) b = prime_factor(bunshi) for key in a.keys(): if key in b: n1 = b[key] n2 = a[key] if n1 > n2: bunshi //= pow(key, n2) bunbo //= pow(key, n2) else: bunbo //= pow(key, n1) bunshi //= pow(key, n1) print(f"{bunshi}/{bunbo}")