AtCoder Beginner Contest 168 A〜C問題
前書き
AtCoder Beginner Contest 168 A〜C問題を解きました。
A問題
難易度:灰
時間:2分
N = input() hon,pon,bon = [2,4,5,7,9],[0,1,6,8],[3] A = int(N[-1]) if A in hon: print('hon') elif A in pon: print('pon') elif A in bon: print('bon')
B問題
難易度:灰
時間:2分
K = int(input()) S = input() if len(S)>K: print(S[0:K]+'...') else: print(S)
C問題
難易度:灰
時間:15分
時計の時針と分針の距離を推定する問題。
0時0分を基準とおいて、時針と分針の角度を算定。
そのあとに時針と分針を三平方の定理を用いて解いていきます。
頭の中でアルゴリズムを設計して→全体を把握→スムーズに実装できた好例です。
import math A,B,H,M = map(int, input().split()) _M = M/60*360 _H = (((H+M/60)%12)/12)*360 sinDelta = abs(math.sin(math.radians(_M))*B-math.sin(math.radians(_H))*A) cosDelta = abs(math.cos(math.radians(_M))*B-math.cos(math.radians(_H))*A) print(math.sqrt(sinDelta**2+cosDelta**2))