AtCoder ABC 086 B – 1 21 Python解説

スポンサーリンク

1 21

シカのAtCoDeerくんは二つの正整数 a,b を見つけました。 a と b をこの順につなげて読んだものが平方数かどうか判定してください。

AtCoder Beginner Contest 「1 21」

まず、aとbをくっつけたいので入力を文字列のまま受け取ります。文字列同士はそのまま+でくっつけた後、int関数で数値に変換します。

次に平方数であるかの確認ですが、今回はmath.sqrtを使ってみたいと思います。

import math

a, b = input().split()
a_b = int(a + b)

rt = int(math.sqrt(a_b))

if rt * rt == a_b:
    print("Yes")
else:
    print("No")

math.sqrt を使い平方根を取り2乗します。平方根を取る際、int関数は余分な数値を切り捨てるので再度2乗したときに数値が平方数とずれたらNo、合えばYesを出力します。

AtCoderB問題

Posted by cheese