日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

【Java算法】一天24小时中,时针和分针一共重合多少次?

發布時間:2025/1/21 java 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Java算法】一天24小时中,时针和分针一共重合多少次? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

思路:利用時針與分針的夾角來計算。參考:上一篇文章

因為電子鐘表,表針的跳動不是連續的,譬如分鐘每次跳動6度,時針每次跳動0.5度。而編寫程序時變量h小時,m分鐘每次增量為1,所以我們設夾角gap為(-6~6之間)。這樣帶來另一個問題,一次重合接近和重合分開甚至是完全重合,最多可能出現3次夾角小于gap值。下面是Java實現代碼。

package XiaoMi;import java.util.Scanner;public class test8 {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stub// TODO Auto-generated method stub/*Scanner scan = new Scanner(System.in);String str = scan.nextLine();String s[] = str.split(":");int h, m;h = Integer.valueOf(s[0]);m = Integer.valueOf(s[1]);double gap = (30 * h - 5.5 * m) % 360;System.out.println("時針與分針的夾角為:" + gap);*/int count =0;for(int h=0; h<24; h++){for(int m=0; m<60; m++){double gap = (30 * h - 5.5 * m) % 360;if(-6.0 < gap && gap < 6.0){//if(-3.5 < gap && gap < 3.5){System.out.println(h + ":" + m);count++;}}}System.out.println("共重合:" + count +"次");}} 運行結果:

0:0 0:1 1:5 1:6 2:10 2:11 3:16 3:17 4:21 4:22 5:27 5:28 6:32 6:33 7:38 7:39 8:43 8:44 9:49 9:50 10:54 10:55 11:59 12:0 13:5 14:10 15:16 16:21 17:27 18:32 19:38 20:43 21:49 22:54 23:59 共重合:35次 進一步分析結果,0點~10點階段總計算兩次接近重合,實際上為重合的接近與離開,故(-11);0:0與23:59也為同樣情況,故(-1);11:59與12:0也為同樣情況,故(-1)。 那么一共重合次數為:22次

接下來換個思路來講:

由于時針1分鐘旋轉的圓心角度數為0.5度,分針1分鐘旋轉的圓心角度為6度,當兩針第一次重合時后到第二次重合,分針比時針多旋轉過的圓心角度數為360度,所以兩針再次重合需要的時間為:?

? t=65+5/11 分, ? ?

?這類問題實際上是分針追時針的追擊問題,它的公式是: ? ?t= s/(v1-v2) ,S=60(格),分針速度:V1=1 格/分,時針速度:V2= 1/12 格/分,所以,計算得到t=65+5/11 分,

?? ? 根據以上計算,每隔65+5/11 分時針和分針重合一次。 ? ? 即,從12點開始,每經過65+5/11 分,時針與分針重合一次, ? ?全天共重合 22次 。 ? ? ?一晝夜有24×60=1,440(分),所以兩針一晝夜重合22(次)。

?重合次數=1440/(65+5/11)=22次 ?

?分述如下: ??

1:(05+5/11)分→?

?2:(10+10/11)分→ ?

3:(16+4/11)分→?

?4:(21+9/11)分→?

5:(27+3/11)分→?

?6:(32+8/11)分→ ?

7:(38+2/11)分→ ?

8:(43+7/11)分→ ?

9:(49+1/11)分→ ?

10:(54+6/11)分→ ?

12:00分 ? 可見,12個小時只重合了11次!

→ ? 一天24小時,但是從下午開始到24點又重復了上午12小時的運轉,所以下午也是和早上的12小時一樣!

所以,11乘以2=22(次)。

能夠發現在上面程序輸出中,每次重合都比上次晚了65+5/11 分,即一小時零5分鐘。如

1:5 2:10 3:16 驗證了程序的正確性。

總結

以上是生活随笔為你收集整理的【Java算法】一天24小时中,时针和分针一共重合多少次?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。