結果
問題 | No.2954 Calculation of Exponentiation |
ユーザー |
👑 |
提出日時 | 2024-11-08 21:39:22 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 42 ms / 2,000 ms |
コード長 | 519 bytes |
コンパイル時間 | 278 ms |
コンパイル使用メモリ | 82,816 KB |
実行使用メモリ | 52,736 KB |
最終ジャッジ日時 | 2024-11-08 21:39:25 |
合計ジャッジ時間 | 2,581 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
ソースコード
from math import gcd a, b = map(float, input().split()) a_n = round(a * 10000) a_d = 10000 b_n = round(b * 10000) b_d = 10000 a_g = gcd(a_n, a_d) a_n //= a_g a_d //= a_g b_g = abs(gcd(b_n, b_d)) b_n //= b_g b_d //= b_g if b_n == 0: print("Yes") exit() if b_n < 0: b_n *= -1 a_n, a_d = a_d, a_n if a_d != 1: print("No") exit() a = a_n x = int(pow(a, 1 / b_d)) while pow(x, b_d) < a: x += 1 while pow(x, b_d) > a: x -= 1 if pow(x, b_d) == a: print("Yes") else: print("No")