結果
問題 | No.2954 Calculation of Exponentiation |
ユーザー |
![]() |
提出日時 | 2024-11-10 04:04:28 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 35 ms / 2,000 ms |
コード長 | 634 bytes |
コンパイル時間 | 548 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 11,520 KB |
最終ジャッジ日時 | 2024-11-10 04:04:31 |
合計ジャッジ時間 | 2,230 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
ソースコード
import sys input = sys.stdin.readline from fractions import Fraction eps=0.00000000001 A,B=input().split() if B=="0.0000": print("Yes") exit() A=Fraction(A) B=Fraction(B) if B<0: B=-B A=1/A if B>5: B-=int(B)-1 x=A**B if abs(round(x)-x)>=eps: print("No") exit() x=A.numerator y=A.denominator z=B.numerator w=B.denominator #print(A,B,x,y,z,w) flag=0 u=x**(1/w) v=y**(1/w) if round(u)**w==x: flag+=1 if round(v)**w==y: flag+=1 if flag==2: A=Fraction(round(u)/round(v)) B=B*w if A.denominator==1: print("Yes") else: print("No") else: print("No")