2007年11月4日 星期日

Problem 579 ClockHands,分針與時針夾角問題


這題出現在之前的程式設計比賽中,控制輸入可以用分號隔開
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題庫目錄
回首頁

沒有留言: