ブルーブリッジカップクロック

12時間時計には、時間を示す分針、時針、秒針があります。分針と時針の角度は A (0≦A≦180)、分針と秒針の角度は (0≦B≦180) です。そして、ちょうど ss 時 ff 分 mm 秒で、条件 A=2 BA=2B および 0≤s≤6;0≤f<60;0≤m<60 が満たされます。それぞれ何メートルですか?

0:00:00 以外の解決策を見つけてください。

時針、分針、秒針はすべて中心を中心に均等に回転します。

送信形式は、スペースで区切られた 3 つの整数で、それぞれ s、f、ms、f、m を表します。たとえば、31158 は 3:11:58 を意味します。

public class 钟表 {

	/**
	 * 模拟问题:模拟现实生活中的真实场景
	 * 本题:分析时针、分针、秒针的转动规律 和 两两之间的对应关系
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//枚举时,分,秒
		double sd,md,hd;
		for(double s=0;s<60;s++) {//秒
			sd=360*s/60;
			for(double m=0;m<60;m++) {//分
				md=360*m/60;
				md+=6*s/60;
				for(double h=0;h<=6;h++) {//时
					hd=360*h/12;
					hd+=30*(m*60+s)/3600;
					
					double A=Math.abs(md-hd);//为符合题目角的范围,避免是优角
					A=Math.min(A, 360-A);
					
					double B=Math.abs(md-sd);
					B=Math.min(B, 360-B);
					if (A==2*B) {
						System.out.println((int)h+" "+(int)m+" "+(int)s);
					}
				}
			}
		}
	}

}

おすすめ

転載: blog.csdn.net/weixin_65528063/article/details/130874062