AtCoder ABC 030 B – 時計盤 Python解説

スポンサーリンク

時計盤

n 時 m 分のアナログ時計があります。短針と長針のなす角度のうち小さい方を度数法で求めてください。

AtCoder Beginner Contest 030 「時計盤」

長針と短針の動きに注意、長針は1分に6度動き、短針も1分あたり0.5度動きます。
あとは短針と長針の角度のうち小さい方を度数で出力します。

n, m = map(int, input().split())

j = 30 * (n % 12) + (0.5 * m)
k = 6 * m

time = min(abs(j - k), 360 - abs(j - k))
print("{:.3f}".format(time))

変数jに短針の角度を入れています。一時間ごとの30度に一分あたりの0.5度を加えています。
長針のkは一分あたり6度動くので、そのまま分を掛けています。

最後のmin(abs(j – k), 360 – abs(j – k))は、 短針と長針の角度のうち小さい方を度数で出力するため、min関数を使っています。