G - 时钟

本文针对时钟上时针与分针重合的问题进行了详细的解析,并提供了一段C语言代码实现,用于计算在指定时间段内时针与分针重合的次数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从a点b分到s点t分时针和分针重合多少次? 
Input
有多组数据,每组1行4个数 a,b,s,t. 1<=a,s <=12, 0<=b,t<60. 0 0 0 0结束. 
Output
参看Sample output 
Sample Input
12 50 1 2 
3 8 3 20 
2 45 11 0 
11 0 3 20 
1 2 12 50 
3 20 3 8
0 0 0 0
Sample Output
0
1
8
4
11

10

分析:

中午12点,墙上挂钟的时针与分针重合了,下次重合应该是:

时针旋转1周,即12小时内,时针和分针重合了11次,且连续两次重合相隔的时间相同;
所以可计算:60*12/11 = 720/11(分钟)
即:下次重合的时间是 1 点 60/11 分 ;
最少经过 720/11 分钟,时针和分针就能重合一次。

代码:

#include<stdio.h> int main() {int a,b,c,d,x,y,t; scanf("%d%d%d%d",&a,&b,&c,&d); while(a!=0||b!=0||c!=0||d!=0) { a%=12; c%=12; x=(a*60+b)*11; y=(c*60+d)*11; if(x>y) y+=720*11; t=y/720-x/720; if(x==0) t++; printf("%d\n",t); scanf("%d%d%d%d",&a,&b,&c,&d); } return 0 ; }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值