HDOJ2076 夹角有多大

来源:互联网 发布:vue node sass 编辑:程序博客网 时间:2024/06/11 07:10

夹角有多大(题目已修改,注意读题)

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 17484    Accepted Submission(s): 6928


Problem Description
时间过的好快,一个学期就这么的过去了,xhd在傻傻的看着表,出于对数据的渴望,突然他想知道这个表的时针和分针的夹角是多少。现在xhd知道的只有时间,请你帮他算出这个夹角。

注:夹角的范围[0,180],时针和分针的转动是连续而不是离散的。
 

Input
输入数据的第一行是一个数据T,表示有T组数据。
每组数据有三个整数h(0 <= h < 24),m(0 <= m < 60),s(0 <= s < 60)分别表示时、分、秒。
 

Output
对于每组输入数据,输出夹角的大小的整数部分。
 

Sample Input
28 3 175 13 30
 

Sample Output
13875
 
import java.util.Scanner;public class Main{private static Scanner scanner = new Scanner(System.in);public static void main(String[] args) {int t = scanner.nextInt();while (t-- > 0) {int h = scanner.nextInt();// 时int m = scanner.nextInt();// 分int s = scanner.nextInt();// 秒/*if (h >= 12) {h -= 12;}*/// 时针的角度double hAngle = 1.0*((h % 12 + m / 60.0 +s / 3600.0)) * 30; //1.0*(h*60*60+m*60+s)/12/10;// 一小时30度// 分针的角度double mAngle =  1.0*((m +s / 60.0)) * 6;//1.0*(m*60+s)/10;//// 一分钟6度//一定要用double!!一定要用double!!一定要用double!!double angle = Math.abs(hAngle - mAngle);// 如果大于180度if (angle > 180) {angle = 360 - angle;}System.out.println((int)angle);}}}


原创粉丝点击