一天,小明正坐在沙發上看電視,無聊之餘看了一眼牆上的鐘,此時正好是十二點整,時針和分針恰好重合在一起,一個疑問出現在小明的腦海中——下一次重合會是在什麼時候呢?
分析:
分針每分鐘轉 6度
時針每分鐘轉 0.5度 ,一小時轉 30度
重合的話,就說明時針和分針到0點的度數相同,假設現在是X時Y分,則
(30*X + 0.5*Y)= (6*Y)
Y=300*X/55
通過上述式子,就可以求出
X={ 0,1,2,。。。,11}時 , Y=?
實現代碼如下:
#include <stdio.h>
/**
* 時針分針重合問題
* 一分鐘: 分針走6度,時針走0.5度
* 如:1時Y分
* 1*30+0.5Y-6Y=0
*
*/
float fun(int x){
int y=0;
return (300.0*x)/55.0;
}
int main(){
int i;
for (i=0;i<12;++i){
printf("%d : %lf \n",i,fun(i));
}
return 0;
}
從圖中我們可以看到,最後一項11:60實際上是等於第一項0:00的。因此除了在11時時針和分針不會重合外,其他時段內都會有一次重合的機會。
=========== 王傑 原創作品轉載請註明出處==============