G - 娜娜梦游仙境系列——梦醒

G - 娜娜梦游仙境系列——梦醒

Time Limit:  2000/1000MS (Java/Others)    Memory Limit: 128000/64000KB (Java/Others)     Special Judge
Submit  Status
Problem Description

娜娜离开了这个王国,走向远方,在旷野上,娜娜看到了一个大时钟,上面的时针分针秒针都在缓缓转动,那只挥着翅膀的天使又出现了,天使说:“外面天已经亮了,娜娜你别睡过头哟~”,娜娜问:“我怎样才能醒过来呢?”,天使说:“只要这个钟的时针和分针重合,你就可以进入时光隧道,离开这个地方。”

 

那你能告诉娜娜还有多久时针和分针才会重合吗?

Input

多组数据,第一行是一个正整数t(t<=100,000),表示数据的组数

对于每组数据,为一个时刻,格式为hh:mm:ss分别表示当时的时、分、秒(采用24小时计时法,范围从00:00:00~23:59:59)

Output
对于每组数据,输出一个浮点数,表示距离下一次时针和分针重合的秒数,误差在1e-4以内将会视为正确。
Sample Input
2
23:59:59
00:00:00
Sample Output
1.000000
3927.272727
Hint
本题采用special judge
 
题意:
  小学竞赛题,给定你时间判断时钟和分钟下一次的重合时间;
 
题解:
  因为时钟每转一圈12小时,起点那次不算,直到转一圈,重合了11次,因为时针和分针走的速度是一样的,所有,他们重合的间隔也是一样,求出这个间隔的时间,就能够知道下一次重合的时间是什么时候,把时间都转化为秒,然后计算重合的间隔Num,每一次重合的时间分别为Num,Num*2,Num*3,..Num*K. 把输入的时间也计算成秒sum,然后计算下一次重合时间的次数K=sum/Num,所有下一次重合的时间为NUM=Num*(i+1),时间相减即可、
 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <stdlib.h>
 4 #include <string.h>
 5 using namespace std;
 6 int main()
 7 {
 8     double Num=1.0*12*3600/11,S;
 9     double NUM;
10     int N,i,T;
11     int a,b,c,sum;
12     scanf("%d",&T);
13     while(T--)
14     {
15         scanf("%d:%d:%d",&a,&b,&c);
16         sum=a*3600+b*60+c;  /*把时间化成秒*/
17         i=(int)(sum/Num);   /*计算出上一次重合的次数*/
18         NUM=Num*(i+1);      /*计算出下一次重合的时间*/
19         printf("%.6lf\n",NUM-sum);  /*输出距离下一次重合的时间*/
20     }
21 
22     return 0;
23 }
View Code

 

转载于:https://www.cnblogs.com/Wurq/p/4430171.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值