秒针、分针和时针的重合次数(十二小时)?
每小时一次,共12次。秒针60步分针1步,分针60步时针1格(5步),即分针12步时针1步来算。
重合的时间应该是:1:5:5、2:10:10、3:16:16、4:21:21、5:27:27
6:32:32、7:38:38、8:43:43、9:49:49、10:54:54
11:59:59、0:0:0
验证代码如下:
//12小时内,秒针、分针和时针重合的次数 #include <stdio.h> int main(void) { int second, minute1, minute2, hour; int times = 0; second = 0; minute1 = 0; minute2 = 0; hour = 0; while(1) { second = second + 1; if(second == 60) { second = 0; minute1 = minute1 + 1; minute2 = minute2 + 1; } if(minute1 == 60) { minute1 = 0; } if(minute2 == 12)//每12分钟时针走一下,小时也按60算;12个小时,时针一共走了60下 { minute2 = 0; hour = hour + 1; } if(hour == 60) //小时也按60算 hour = 0; if(hour == minute1 && minute1 == second ) { times = times +1; printf("%d : %d : %d\n",hour/5,minute1,second); if(second == 0) break; } } printf("Times = %d\n",times); return 0; }
运行结果如下:
当然这道题的设计也和表的设计有关,例如:分针1格是1分钟,即60秒,如果分针是在秒针走完60秒时走1格,还是秒针走1秒,分针就走1/60格,
如果是后者,则重合时间只有一次,即12:00:00