题目描述
钟表是日常生活中不可缺少的时间度量,其时针、分针、秒针三者的转动速度满足特定的规律(见备注)。现在输入时刻time
,请计算出时刻time
和time+1
之间,时针和分针重合的时刻,要求:
1)输入形式:介于0~23
之间的整数。例如2
2)输出形式:介于0:00~23:59
之间的时刻,精度控制到分钟(四舍五入)。例如:2:11
备注:时针每小时转动30°
,时针和分针从整点开始转动到重合所需要的时间t=s/(v1-v2)
,其中s为时针与分针之间的夹角度数,v1
、v2
分别为分针和时针的转动速度(度/分)
解题思路
- 抓住备注提供的公式:
t=s/(v1-v2)
s
为时针与分针之间的夹角度数,v1
、v2
分别为分针和时针的转动速度(度/分)
时针的转动速度为0.5°/min
,分针的转动速度为6°/min
所以公式可以进一步简化为:t=s/5.5
- 直接套公式计算,如果公式计算出来的经过的分钟是一位数,需要手动添
0
,以满足/符合格式
代码
//核心代码模式
public String time_coincide(int time)
{
int mem=time;
if(time>12)
time=time-12;
double s=time*30;
String res="";
s=Math.round(s/5.5);
if(s==60)
res=(t+1)+":00";
else if(s==0)
res=t+":00";
else if(x<10)
res=t+":0"+s;
else
res=t+":"+s;
return res;
}