見出し画像

第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)

#やってみた

この記事が参加している募集

やってみた

よろしければサポートお願いします!