AtCoder ABC 016 B – A±B Problem Python解説

スポンサーリンク

A±B Problem

高橋くんはプログラミングコンテストで A+B を出力するプログラムを書いたつもりでしたが、 A-B を出力するプログラムを書いたような気がしてきて不安になりました。高橋くんは書いたプログラムをうっかり消してしまって入出力しか残っていません。高橋くんが書いたプログラムが A+B なのか、 A-B なのか、どちらの可能性もあるか、どちらでもないかを判定してください。

ただし、 A+B と A-B のどちらかの可能性しかない場合、そのプログラムを書いたと判定します。例えば 1 1 という入力に対して 2 を出力しているなら、 A+B の可能性はあるが A-B の可能性はないので、高橋くんは A+B を書いたと判定してください。

AtCoder Beginner Contest 016

A+Bの可能性、A-Bの可能性など丁寧に場合分けをしてあげれば大丈夫です。

a, b, c = map(int, input().split())

x = a + b
y = a - b

if x == c and y == c:
    print("?")
elif x == c:
    print("+")
elif y == c:
    print("-")
else:
    print("!")

上記コードではA+Bをx、A-Bをyとしてxとyの値とCの値を比べ、それぞれ場合分けをしています。