時鐘(分針和時針的重合問題)

2021-10-01 19:17:26 字數 1181 閱讀 3263

問題描述

從a點b分到s點t分時針和分針重合多少次?

輸入有多組資料,每組1行4個數 a,b,s,t. 1<=a,s <=12, 0<=b,t<60. 0 0 0 0結束.

輸出參看以下樣例

輸入樣例 1 

12 50 1 2 

3 8 3 20

2 45 11 0

11 0 3 20

1 2 12 50

3 20 3 8

0 0 0 0

輸出樣例 1

018

41110

題目並不難理解,就是要我們計算兩個時間點內時針和分針的重合次數。

對此我們先對分針和時針的重合規律做一下分析:

不難發現從1~12h,每一小時分針和時針都會重合一遍,而0~1h內,時針和分針不會重合,也就是說,在完整的12小時內,分針和時針只會重合11次。

另外我們還需要知道的是分針和時針每分鐘移動的角度:

1、分針:分針每分鐘走整個鐘面的1/60,所以時針每分鐘走的度數為6°。

2、時針:時針每分鐘走整個鐘面的1/720,所以時針每分鐘走的度數為0.5°。

程式設計:

一、大致可以分為三種情況:

1、兩個時間點在同乙個小時內,且後乙個時間點大於前乙個時間點。即:a==s&&b對此我們只需分別判斷兩個時間點的時針和分針的角度大小關係即可。

若時間點一的分針角度小於時針角度,同時時間點二的分針角度大於時針角度,重合次數加一,其他情況重合次數不變。

2、兩個時間點在同乙個週期(12h)內。即:a對此我們主要分三步計算:

(1)判斷a:b~a+1:00是否有重合;

(2)判斷a+1~s:00的重合次數(s-a-1);

(3)判斷s:00~s:t是否有重合。

3、兩個時間點不在同乙個週期(12h)內。即:(a==s&&b>t)||(a>s)

對此我們也分三步來計算:

(1)判斷a:b~a+1:00是否有重合;

(2)判斷a+1~12:00的重合次數+1:00~s:00的重合次數(12-a-1+s-1);

(3)判斷s:00~s:t是否有重合。

**如下:

#includeint main()

printf("%d\n",sum);

} return 0;

}

時針分針夾角公式與重合問題

夾角問題 設時間為x時y分,以12時0分開始為0度參考,分針的角度為y 60 360度 6y度 時針除考慮x外,也要考慮y,角度應是x 12 360度 y 60 1 12 360度 30x 0.5y 度,所以夾角便是兩者的差 6y 30x 0.5y 度 5.5y 30x 度。例 2時25分,夾角是 ...

求時鐘時鐘和分針的夾角

夾角的範圍 0,180 時針和分針的轉動是連續而不是離散的。輸入資料的第一行是乙個資料t,表示有t組資料。每組資料有三個整數h 0 h 24 m 0 m 60 s 0 s 60 分別表示時 分 秒。對於每組輸入資料,輸出夾角的大小的整數部分。include include intmain 因為順時針...

競賽準備賽三 ly的新鬧鐘(時針分針重合次數)

time limit 1 sec memory limit 128 mb submit 148 solved 36 submit status web board 最近ly買了乙個新鬧鐘,每天盯著這個鬧鐘看,越看越喜歡.為了不讓ly浪費時間,wjw決定給ly提出乙個要求.從x點整到y點整,時針和分針...