目次
はじめに
この記事では、ABC369のA問題を解説していきます。
ABC(AtCoder Beginner Contest)とは、AtCoderが開催している、競技プログラミングコンテストです。
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 = 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)
以上、ABC369のA問題の解説でした!
では、またね。
A = 3, B = 5 のとき
の3通りが考えられる。