关于手表指针的算法思考
我们都知道手表上又时分秒三个指针,时针可以决定分针和秒针的位置,分针可以决定秒针的位置。为了简单起见,现在假设只有时针和分针。
现假设某一刻为H:M,(H=0,1,2…11;M=0,1,2..59),那么在该时刻分针的角度(距离起点0点)为:,时针的角度:
,
那么时针和分针的夹角:
问题1.时针和分针重合的时刻?
令,化简之后得:
由此可见,每个小时之中都有一个时刻满足时针和分钟重合,注意当H=11的时候,M=60,也就是12点,即0点。所有满足时针分针重合的时刻为:
[0:0]、[1:(05-06)]]、[2:(10-11)]…[11:60]即[12:0]共有11个时刻
由于没有考虑秒钟,如在[1:(05-06)]]时刻,时针和秒针完全重合在05分和06分之间。
问题2.时针和分钟互换位置,过了多久?
时刻1为:h1:m1,时刻2为:h2:m2,令D1=D2,假设h2>h1,则必然有m1<m2。化简的到:
此外还有,当时针运行到分钟处:,分针运行到时针处:
,化简整理得:
可见这样的时刻答案应该不止一个,但当在特定情况下入h2-h1=2,360笔试中是两个小时后,问总共经历了多少分钟?三元一次方程应该比较好求解吧?