时分秒重合问题
今天晚上和同事吃饭时聊起了以前初中接触过的话题:24 小时内时针、分针和秒针重合几次。
吃完饭之后回来捋了下思路:
- 假设时针的角速度为 ω(
ω = 1 / 120 (度/秒)
),那么分针的角速度就为 12ω,秒针的角速度为 720ω - 假设时针和分针在 t 秒后重合,那么分针在 t 时间内走过的角度减去时针在 t 时间内走过的角度,得到的结果肯定是 360 的整数倍
- 根据上面的规则,可以算出时针和分针重合的时间 – 集合 A
- 同理也能算出分针和秒针重合的时间 – 集合 B
- 那么时针、分针及秒针三者重合的时间就是集合 A、B 的交集
具体实现代码如下:
1 | /** |
1 | // 时分秒角速度(度/秒) |
根据运算结果可知,时针、分针、秒针三者在 24 小时内重合了 2 次,重合时间分别是在 0 点以及 12 点。