ABC030-B - 時計盤 を解く
ABC030-B - 時計盤
時刻が与えられるので、その時間における
アナログ時計の短針と長針がなす角度を答える問題
時計の12時方向を0度とし
短針の角度と長針の角度をそれぞれ求め、
それぞれの角度をの差を求めることで短針と長針のなす角を求めることができる
また、「小さい方の角度を求める」ことに注意
例えば、30度と240度の場合は答えは210度ではなく150度が正解となる
この150度という値は 360 - (240 - 30) = 150 という計算で求められる
つまり、2つの角度の差を求め、その値と360から引いた値の
より小さい方の値を答えとすればいい
それでは以上を踏まえてコードを書いていく
提出したコード
# 入力 n,m=map(int,input().split()) # 長針の角度(60分で360度なので、1分で6度) b=m*6 # 短針の角度(12時間で360度なので、1時間で30度) # 12で余りを取って、0〜11時として計算する a=n%12*30 # 長針が2分進むにつき、短針は1度動くので # その分も短針の角度に加算 a+=m/2 # 小さい方の角度を出力する print(min(abs(a-b),360-abs(a-b)))