![見出し画像](https://assets.st-note.com/production/uploads/images/125751770/rectangle_large_type_2_8f2bfe7a810b4be90180a48ca624d9da.png?width=1200)
第21回日本情報オリンピック 一次予選(第2回)の問題をやってみた
【問題文】要点のみ抜粋
アナログ時計(文字盤が1~12になっている)について、短針がある目盛りを指した.この目盛りは A である。 B 時間が経過したときに短針が指す目盛り出力せよ。
【解答】Python版
a = int(input())
b = int(input())
k = (a + b) % 12
if k == 0:
k = 12
print(k)
普通は、このように、余りが0の時を例外と考えて処理します。
しかし、もし、文字盤が0~11になっていたら、どうでしょうか?
その時は、0が例外となりません。
a = int(input())
b = int(input())
k = (a + b) % 12
print(k)
では、この後、文字盤を1~12に変える、つまり、1を加えれば、どうでしょう?
if 文がなくなり、すっきりしました。
a = int(input())
b = int(input())
k = (a + b) % 12
print(k+1)
いいなと思ったら応援しよう!
![moka](https://assets.st-note.com/production/uploads/images/124621434/profile_90ba0184b17169d88b90e1c55f80c496.jpg?width=600&crop=1:1,smart)