時計の針の先端の距離を求める問題で、コードの欠陥が分かりません。どなたかわかる方いらっしゃれば教えていただけると嬉しいです。
WAとなってしますのでおそらく期待した結果と異なっています。説明が足りずすみません。
Python3
1import math 2#a,bは短針、長針の長さでhは時間、mは分です。例えばh時m分のような 3a,b,h,m = map(int, input().split()) 4#方針はstartで時刻によって短針と長針の間の角度を設定し、何分かによってstartから角度を引いていきます。180度より大きくならないようにdを置きました。 5start = 30*h 6d = min(abs(start - 5.5 * m),360-abs(start - 5.5 * m)) 7m = int(d) 8#短針と長針が重なった場合、三角形にならないのでelifにまわしました。90度の時も例外処理としました。 9#if文では余弦定理を使って距離を出しています。 10if m!=90 and m!= 0 and m!= 180: 11 c = math.cos(math.radians(d)) 12 k = a**2+b**2-2*a*b*c 13 ans = math.sqrt(k) 14 print(ans) 15elif m == 0: 16 print(abs(a-b)) 17elif m == 180: 18 print(a+b) 19elif m == 90: 20 k = a**2+b**2 21 ans = math.sqrt(k) 22 print(ans) 23
回答1件
あなたの回答
tips
プレビュー