ABC369 A問題の解説(Python)

はじめに

AtCoder Beginner Contest(略称:ABC)とは、AtCoderが開催している、競技プログラミングコンテストのことです。

今回はABC369のA問題を解説していきます。

ABC369 A – 369

問題

問題

整数 A, B が与えられます。3つの整数 A, B, x をうまく並べることで、等差数列を作ることができるような x が何通りあるかを調べる問題です。

制約

  • \(1 \leqq A, B \leqq 100\)

思考の筋道

どのようなパターンがあるか考えていきましょう。

まず、A=B の場合ですが、このときはxも同じ数のときのみ等差数列となるので、1通りです。

次に、A≠B の場合です。

xが整数でなければならないことから、AとBの平均値が整数になるかどうかで場合分けが必要です。

平均値が整数の場合の例

A = 3, B = 5 のとき
・X = 1 として、1, 3, 5
・X = 4 として、3, 4, 5
・X = 7 として、3, 5, 7
の3通りが考えられる。

平均値が整数でない場合の例

A = 3, B = 6 のとき
・X = 0 として、0, 3, 6
・X = 9 として、3, 6, 9
の2通りが考えられる。
※ X = 4.5 とはできない

以上について、分岐処理を用いて実装していきましょう。

なお、AとBの平均値が整数かどうかは、AとBの和を2で割った余りで調べられます。

コード

A, B = map(int, input().split())

if A == B:
    print(1)
elif (A + B) % 2 == 1:
    print(2)
else:
    print(3)

リンク