這題出現在之前的程式設計比賽中,控制輸入可以用分號隔開
scanf("%d:%d", &h, &m);
接著只要知道
1小時 = 360度 / 12 = 30度
1分鐘 = 30度 / 5 = 6度
就可以把題目算出來,要注意分針在走的時候時針也有小幅度的在走,不要忘記算進去;注意不要時針跟分針接近的時候很容易做出超出範圍的答案
degree_h = 30.0 * (h+m/60.0);
degree_m = 6.0*m;
ans = degree_m - degree_h;
if(ans < 0)
ans = -ans;
if(ans > 180)
ans = 360-ans;
Solved by Wellwind
p579目連結
回ACM題庫目錄
回首頁
沒有留言:
張貼留言