这是我小学入初中的考题。

众所周知,时针与分针每天重合22次。

每12个小时考虑方便一点。

时针转一圈就是12小时,每小时多几分钟都会与分针重合一次,而且这个「多几分钟」不可能超过59分钟。因此是11次重合。翻一倍就是22次。

也就是说,考虑三针重合,只要从前面这22种里面挑答案就可以了。

不难发现,所有的时间点,都是XX:XX,比如1:06分。不会出现什么1点06分xx秒。

所以很简单,只有整点,也就是12点整或者0点整才能符合要求,也就是2。

但是古往今来,人们都比较喜欢放著简便方法不管,选择繁杂的答案。


评论区的一些人。你们站在道德制高点上不冷吗? @知世就是力量 你有什么资格把我的答案称为错的答案。已经很明显了,小学生不具备数论的能力。这题再怎么复杂,用初中数学也足够解决了。你所诟病的「不严谨」纯粹是因为小学生无理数没学过,我故意说成「不难发现,所有的时间点,都是XX:XX,比如1:06分。不会出现什么1点06分xx秒。」。

并不是所有题目都必须「将水壶中的水倒掉」的。用数论解决小学题,自重。

况且,你的设定本来就有问题。两次设定就是原来的钟表,也就是秒针一秒动一次。换汤不换药罢了。你只要是秒针一秒动一次的设定,或者说得再严谨一点:分针时针的转动基于秒针的转动。你操作再华丽,答案永远都是2次。你再怎么说我答案错你都是有问题的。

答题关键是抓住核心,你差远了。完全的「做题家」思路。可以说,你的思路用于解这道题是完全错误的,只是答案正确而已,后排python程序已经证明了。我对做题家不感兴趣,拉黑了。


设时针,分针,秒针的角速度分别为 [公式]

以时针作为参考系。

则相对角速度 [公式]

该参考系下,秒针,分针角速度比: [公式]

在这个参考系下,时针不动,秒针走 [公式] 圈,分针走 [公式] 圈,

在这个参考系下,重合的时候,就是秒针走了 [公式] 圈,分针走了 [公式] 圈,当[公式] 为整数的时候。

在这个参考系下,秒针的总圈数为 [公式]

(实际上这里以及看出来了, [公式] 小时少了两圈,说明有两次追上重合。)

使[公式] 为整数,那就只有 [公式][公式]

刚好就是 [公式] 点和 [公式] 点。

这下应该没错了吧(*/ω\*)


先说结论,在每天的0点和12点各重合一次。

因为表盘是12小时制的,所以只用考虑半天的结果,最后乘以2即可。

图片来自百度

要想三个指针重合,那么只需要三个指针与12点所成顺时针夹角相等即可。

假设x是从0点已经过的小时数,那么就是求解在x点的时候时针、分针、秒针分别经过了多少度。容易知道:

每过一小时,时针走30°、分针走360°、秒针走3600°。

先算时针与12点的夹角。经过x小时,时针走了30x°,与12点的夹角也为30x°。

再算分针与12点的夹角。经过x小时,分针走了360x°,由于分针转的度数可能大于360°,因此如果要计算夹角,需要减去分针在x的整数部分转过的角度,即360x°-360[x]°,其中 [x]表示x向下取整(原谅我没找到向下取整符号。。)。

最后再算秒针与12点的夹角。经过x小时,秒针走了3600x°。因为当时针指向整数时,秒针转过的度数为3600°的整倍数;当分针指向整数时,秒针转过的度数为360°的整倍数,所以当求秒针与12点的夹角时,应减去时针在整数部分内秒针转过的度数:3600x°-3600 [x]°、再减去(x- [x])时间内分针在整数部分内秒针转过的度数:[x-[x]]*360°(注意这里进行了两次向下取整)。最终表达式为:3600x°-3600 [x]°-360[x-[x]]°。

接下来令分针转过的角度与时针转过的角度相等(省略度数符号°):

360x-360[x] = 30x

解得 [公式]

顺便,把[x]=0,1,2,3,...,11分别带入,只有当[x]=11时,没有小于12大于等于11的x满足要求,其余的11个[x]都有对应的x取值,因此,一天中分针和时针重合的次数为11*2=22。

再令秒针转过的角度与时针转过的角度相等:

3600x-3600 [x]-360[x-[x]] = 30x

将前面分针与时针重合的[公式]带入,化简得 [公式]

能使上式成立的x的取值即为三个指针重合的时间。

很明显可以看出,式子左边59/11不是整数,而式子右边恒为整数,所以除了x=0以外上式无解,即只有一个0点满足题意,再算上另外半天,得出结论:

钟表上三个指针在每天的0点和12点各重合一次。


这一题如果只考虑时针和分针重合多少次,那答案是22。

从12点开始算重合第一次,12点至1点之间时针是不会和分针重合的,因为分针先走,到一点时分针才到12,还没追上时针。

1点至2点之间重合一次,2点至3点之间重合一次,然后一直到10点至11点之间重合,一共是10次,加上最开始一次一共11次。

11点至12点之间重合的时候已经是12点了,就是新的一圈了。

所以每12小时重合11次,一天共重合22次。

每次重合的时间也是可以计算的:比如1点至2点之间的重合时间。

假设1点X分重合,此时分针的度数为6X(每分钟转6°),而时针的度数为30+6X/12(1点时时针为30°,时针每转30度,分针转360度,故时针转的度数为分针的1/12)。

令6X=30+6X/12,可得X=60/11,也就是1点05分到1点06分之间。

依次可得2点至3点的重合时间是2点120/11分,3点至4点的重合时间是3点180/11分……11点至12点的重合时间是11点660/11分,也就是12点。

如果我们把秒针也加入进来,看看重合时间是多少?

比如1点60/11分时,时针和分针重合,此时秒针的度数是多少呢?60/11分也就是5又5/11分,此时秒钟的度数是5/11×360°,也就是大概163°,已经远远超过时针和分针重合的地方。

所以时针分针秒针三个都重合只能是12点,一天只有2次。

如果觉得我的回答不够直观,可以买个钟好好研究一下

北欧钟表挂钟客厅创意现代时钟石英钟表挂表卧室静音个淘宝¥ 39.90去购买?


这个问题号称微软面试题,从解答方法看,只需要小学水平的数学知识,但是很多人确实算不出来。算不出来是因为秒针与分针重复转圈,又不确定多转了几圈,就多了一个未知数,相当于对一个二元一次方程求解。

下面的方法是我十多年之前写的,看结果简直太简单了,很多人会嗤之以鼻,关键是能否在别人之前想得到。N年前我在百度查过,答案都是猜测,没有人提供解题思路。

解题思路是求解:N整点至N+1整点之间,三针重合的时刻。


推荐阅读:
相关文章