2016-08-13
UVA - 579 Clock Hands
题目大意:以H:M的形式给出时间,求此时时针和分针之间的夹角是多少。
解题思路:时针每一大格是 30度,分针是 6度。而分针每走一个又会让时针往前走 0.5度。分别计算出度数相减。让结果在0-180之间就好了。
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
int H, M;
while ( ~scanf("%d:%d", &H, &M) ) {
if ( H == 0 && M == 0 )
break;
double h = H * 30 + M * 0.5;
double m = M * 6;
double d = h - m;
if ( d < 0 )
d += 360;
if ( d > 180 )
d = 360 - d;
printf("%.3lf\n", d);
}
return 0;
}