时针分针重合问题

一天,小明正坐在沙发上看电视,无聊之余看了一眼墙上的钟,此时正好是十二点整,时针和分针恰好重合在一起,一个疑问出现在小明的脑海中——下一次重合会是在什么时候呢?

分析:
分针每分钟转 6度
时针每分钟转 0.5度 ,一小时转 30度

重合的话,就说明时针和分针到0点的度数相同,假设现在是X时Y分,则

30*X + 0.5*Y)= (6*Y) 
     Y=300*X/55 

通过上述式子,就可以求出
X={ 0,1,2,。。。,11}时 , Y=?

实现代码如下:

#include <stdio.h>
/**
*  时针分针重合问题
*  一分钟: 分针走6度,时针走0.5度
*  如:1时Y分
*  1*30+0.5Y-6Y=0
*
*/

float fun(int x){
    int y=0;
    return (300.0*x)/55.0;
}


int main(){
    int i;
    for (i=0;i<12;++i){
        printf("%d : %lf \n",i,fun(i));
    }
    return 0;
}

1

从图中我们可以看到,最后一项11:60实际上是等于第一项0:00的。因此除了在11时时针和分针不会重合外,其他时段内都会有一次重合的机会。

=========== 王杰 原创作品转载请注明出处==============

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值