AtCoder-ABC205 C - POW【Python解答例】
AtCoder Beginner Contest205のC問題についてPythonの解答例を記事にしていきます。
AtCoder Beginner Contest 205 - AtCoder
AtCoder Beginner Contest205 C - POW
問題文
数 X を Y 回掛けたものを「X の Y 乗」といい、pow(X,Y) で表します。 例えば pow(2,3)=2×2×2=8 です。
3 つの整数 A,B,C が与えられるので、pow(A,C) と pow(B,C) の大小を比較してください。
制約
・−10^9≤A,B≤10^9
・1≤C≤10^9
・入力は全て整数
解答例
a, b, c = map(int,input().split()) if c % 2 == 0: if abs(a) > abs(b): print(">") elif abs(a) < abs(b): print("<") elif abs(a) == abs(b): print("=") else: if a > b: print(">") elif a < b: print("<") elif a == b: print("=")
解説
aのc乗とbのc乗を比較してどちらが大きいか、あるいは同じか答える問題です。
実際に計算すると莫大な計算量になるのでa,bの大小関係に注目しました。
Cが偶数のとき、pow(A,C) と pow(B,C)はどちらも正の数になるのでAとBの絶対値を比較しました。
Cが奇数のとき、AとBの大小関係に従うので単純に大小関係を比較します。
この比較結果にあわせて答えを出力すればOKでした。
ABC205の関連記事はこちら
ebisuke33.hatenablog.com
ebisuke33.hatenablog.com