【智力题】钟表的时针、分针、秒针每天重合多少次?

面试的时候遇到一个很好玩的问题:钟表的时针、分针、秒针每天重合多少次?

于是,matlab启动!

我分成"指针跳变"、"指针连续",两个版本进行仿真:

版本一:指针跳变

matlab 复制代码
%% 解释钟表三指针重合问题
% 假设:
% 1. 钟表的刻度是一圈60格
% 2. 钟表指针都是跳变的
% 3. 秒针每秒跳一格、分针每分跳一格、时针每12分跳一格

clear;
clc;
close all;
% 定义变量
len = 24*60*60;% 所有的秒数
secs = zeros(1,len);% 秒针
mins = zeros(1,len);% 分针
hour = zeros(1,len);% 时针

% 秒针
for i = 0 : (len/60)-1
    secs((1:60)+i*60) = 0:59;
end

% 分针
tmp = 0;
for i = 0 : (len/60)-1
    mins((1:60)+i*60) = tmp.*ones(1,60);
    tmp = mod(tmp+1,60);
end

% 时针
tmp = 0;
for i = 0 : (len/60/12)-1
    hour((1:720)+i*720) = tmp.*ones(1,720);
    tmp = mod(tmp+1,60);
end

% 找出重合点
for i = 0:len-1
    if(secs(i+1) == mins(i+1) && secs(i+1)==hour(i+1))
%         fprintf("%d:\t ", i);
        fprintf("%d:%d:%d\n",floor(i/3600),mod(floor(i/60),60),mod(i,60));
    end
end

运行结果:

matlab 复制代码
0:0:0
1:5:5
2:10:10
3:16:16
4:21:21
5:27:27
6:32:32
7:38:38
8:43:43
9:49:49
10:54:54
11:59:59
12:0:0
13:5:5
14:10:10
15:16:16
16:21:21
17:27:27
18:32:32
19:38:38
20:43:43
21:49:49
22:54:54
23:59:59

版本二:指针连续

matlab 复制代码
%% 解释时钟指针重合问题
% 假设:
% 1. 指针都是连续转动的
% 2. 秒针每秒转360/60=6度,分针每分钟转360/60=6度,时针每小时转360/12=30度。
% 3. 角速度统一(单位:角度/s):秒针-6度/s,分针-0.1度/s,时针-(1/120)度/s
clear;
clc;
close all;

% 参数定义
t = 0:1:(24*60*60-1);       % 一天总时长
hour = mod(1/120.*t, 360);  % 时针
mins = mod(0.1.*t, 360);    % 分针
secs = mod(6.*t, 360);      % 秒针
len = length(t);

% 找出重合点
for i = 0:len-1
    if(secs(i+1) == mins(i+1) && secs(i+1)==hour(i+1))
        fprintf("%d:%d:%d\n",floor(i/3600),mod(floor(i/60),60),mod(i,60));
    end
end

运行结果:

matlab 复制代码
0:0:0
12:0:0

结论

  1. 若指针跳变,每小时都会重合一次,一天可以重合24次。
  2. 若指针连续转动,只有最开始的0时0分0秒、中午12点整,这两个时间会重合。

我也不知道对不对啊,不服来辩!

相关推荐
发现一只大呆瓜6 小时前
虚拟列表:支持“向上加载”的历史消息(Vue 3 & React 双版本)
前端·javascript·面试
千寻girling8 小时前
Koa.js 教程 | 一份不可多得的 Node.js 的 Web 框架 Koa.js 教程
前端·后端·面试
程序员清风8 小时前
北京回长沙了,简单谈谈感受!
java·后端·面试
网络安全-杰克9 小时前
2026面试自动化测试面试题【含答案】
自动化测试·软件测试·面试·职场和发展
千寻girling12 小时前
主管:”人家 Node 框架都用 Nest.js 了 , 你怎么还在用 Express ?“
前端·后端·面试
xiaoxue..12 小时前
合并两个升序链表 与 合并k个升序链表
java·javascript·数据结构·链表·面试
猿小羽14 小时前
AIGC 应用工程师(3-5 年)面试题精讲:从基础到实战的系统备战清单
面试·大模型·aigc·agent·rag
boooooooom15 小时前
Pinia必学4大核心API:$patch/$reset/$subscribe/$onAction,用法封神!
javascript·vue.js·面试
试着15 小时前
【huawei】机考整理
学习·华为·面试·机试
石去皿15 小时前
【嵌入式就业6】计算机组成原理与操作系统核心机制:夯实底层基础
c++·面试·嵌入式