ABC034-B - ペア を解く
ABC034-B - ペア
10^9 人の人がおり、1と2、3と4、5と6、…
といった感じで前からペアを作っていく
入力された数字とペアになる相手の数字を出力するという問題
一見、かなり簡単そうである
1 だったら 2 が答え
9 だったら 10 が答え
簡単だ。
じゃあ 123456789 だったら… 123456788? 123456790?
ちょっと大きい数になると混乱するが、よく考えてみると
1桁目だけに注目してみればいい
1と2、3と4、5と6、7と8、9と10、
11と12、13と14、15と16、17と18、19と20、
21と22、23と24、25と26、27と28、29と30、
…
101と102、103と104、105と106、107と108、109と110、
…
1001と1002、1003と1004、1005と1006、1007と1008、1009と1010、
…
どれだけ大きくなっても、1桁目の組み合わせは変わらないことがわかる
したがって 123456789 の組み合わせだったら 123456790 だとわかる
言い換えると、1桁目が 1,3,5,7,9 の数字の相手はその数字に +1 したもの
1桁目が 0,2,4,6,8 の数字の相手はその数字に -1 したもの
とも言える
例
・123 の相手は 124(= 123 +1)
・3456 の相手は 3455(= 3456 -1)
以上を踏まえて書いたコードは以下の通り
提出したコード
# 入力 n=int(input()) if n%10 in (1,3,5,7,9): print(n+1) else: print(n-1)