时钟问题~~时针分针秒针 每天能重合几次~求java代码~~各位大虾救命啊~~

ffen0510 2009-06-06 07:06:21
在有60个刻度的时钟上 求 时针 分针 秒针 一天内有多少次重合~~分别是什么时间~ (时针、分针没达到跳下一格的条件时假设为不动的)
这个东西我想了2天了还是没什么进展~~尝试了很多方法~~明明知道是要用for 和if
结合~~但是越想脑子越乱~~~初学者啊- -!
顺便在帮我解决一个:1酒鬼拿酒壶去买酒,看到人就喝一斗,遇到商店酒就加一倍,五遇人和商店,喝光酒壶里面的酒,求原来酒壶里有多少酒~~~也是用for
这个是没有头绪~~~想想觉得这Y的题目怎么觉得很怪~~~似乎只能有2中结果就是0和5,但是又不知道怎么算比较好 头痛
菜鸟啊~~~~求大家赐教下
...全文
1684 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
asamg 2010-01-12
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 ffen0510 的回复:]
引用 2 楼 william3033 的回复:
和小学的题目结果还有点不一样,呵呵,小学的题目是要求指针完全重合,而且不完全是整数的。

Java code

public class GetTime {

    /**
    * @param args
    */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int ch =0;
        int h = 0;
        int m = 0;
        int s = 0;
        StringBuffer sb = new StringBuffer();
        for(h…

这个是12小时内的重合~~~24小时的呢可不可以写下呢~~似乎是在这个基础上套用if语句~~~
[/Quote]

把这些时间的小时 转换一个24小时的下午时间
maolaoying 2009-06-16
  • 打赏
  • 举报
回复
package time;

public class TimeDemo {

public static void main(String args[]){
for(int i=0;i<=86400;i++){
if((6*i)%360==(0.1*i)%360){
if((0.1*i)%360==(1/120.0)*i%360){
System.out.println(i/3600+":"+i%3600/60+":"+i%3600%60/60);
}

}

}

}

}
cgaolei 2009-06-08
  • 打赏
  • 举报
回复

public class Test{

public static void main(String[] args) {
for(int h=0;h<120;h+=5) {
for(int m=0;m<60;m++) {
for(int s=0;s<60;s++) {
if(((h>60)?h-60:h) == m && m== s) System.out.println(h/5+":"+m+":"+s);
}
}
}
}
}


输出:
0:0:0
1:5:5
2:10:10
3:15:15
4:20:20
5:25:25
6:30:30
7:35:35
8:40:40
9:45:45
10:50:50
11:55:55
13:5:5
14:10:10
15:15:15
16:20:20
17:25:25
18:30:30
19:35:35
20:40:40
21:45:45
22:50:50
23:55:55
cgaolei 2009-06-08
  • 打赏
  • 举报
回复
(时针、分针没达到跳下一格的条件时假设为不动的) ,楼上好好读题。。。
性能侠客行 2009-06-08
  • 打赏
  • 举报
回复
秒针60秒是360°,分针60*60=3600秒是360°,时针12*60*60=43200秒是360°,所以每秒钟秒针分针时针走的度数分别是6°,0.1°,1/120°设从0点0分0秒过了x秒(x<43200),则秒针走了[6x(mod)360]°{注:mod是取余},分针走了[x/10(mod)360]°,时针走了x/120度。因为秒针度数为6的倍数,为了时针能和秒针重合,x/120也应为6的倍数,所以x为720的倍数,即x=720n,所以三针要重合,秒针只能走0°,因为6*720n(mod)360=0。所以三针只可能在12点处重合。即一天只有两次重合机会,12点和24点。好理解吧。o(∩_∩)o...
cgaolei 2009-06-08
  • 打赏
  • 举报
回复
更改,之前的程序有个小问题12:0:0没输出来:


public class Test{

public static void main(String[] args) {
for(int h=0;h<120;h+=5) {
for(int m=0;m<60;m++) {
for(int s=0;s<60;s++) {
if(((h>=60)?h-60:h) == m && m== s) System.out.println(h/5+":"+m+":"+s);
}
}
}
}
}


输出:
0:0:0
1:5:5
2:10:10
3:15:15
4:20:20
5:25:25
6:30:30
7:35:35
8:40:40
9:45:45
10:50:50
11:55:55
12:0:0
13:5:5
14:10:10
15:15:15
16:20:20
17:25:25
18:30:30
19:35:35
20:40:40
21:45:45
22:50:50
23:55:55
C_sdnElf 2009-06-06
  • 打赏
  • 举报
回复
.......uP
555555555555555 2009-06-06
  • 打赏
  • 举报
回复
我承认我很贱...我愿意用OO的方法再做一次这题,会有分吗?
qizhe6783 2009-06-06
  • 打赏
  • 举报
回复
应该是24吧
每个小时重叠一次
csljs412 2009-06-06
  • 打赏
  • 举报
回复
我错了
csljs412 2009-06-06
  • 打赏
  • 举报
回复
5=(x-i)*2+x
Dantin 2009-06-06
  • 打赏
  • 举报
回复
小学数学竞赛题,第一题,5分....
网络科技 2009-06-06
  • 打赏
  • 举报
回复
呵,这不知道是面试题还是课后作业呀,说白了就是循环判断,用递归也可以,楼上方法应该正确.另一题也类似,你可以先设为X,先把方程式列出来,写代码就简单了.
william3033 2009-06-06
  • 打赏
  • 举报
回复
time=0:0:0,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
闪了,另外一个回来再整。可以倒过来考虑,实际上是到遇到第4个商店之后遇到第5个人喝光了酒。
william3033 2009-06-06
  • 打赏
  • 举报
回复
和小学的题目结果还有点不一样,呵呵,小学的题目是要求指针完全重合,而且不完全是整数的。


public class GetTime {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int ch =0;
int h = 0;
int m = 0;
int s = 0;
StringBuffer sb = new StringBuffer();
for(h=0;h<12;h++){
for(m=0;m<60;m++){
for(s=0;s<60;s++){
ch = h*5+m/12;
System.out.println(m/12);
if(m==s&&ch==m)
sb.append(","+h+":"+m+":"+s);
}
}
}
System.out.println("time="+sb.toString().substring(1));
}

}
william3033 2009-06-06
  • 打赏
  • 举报
回复
第一个我记得是小学的一个数学题,呵呵。
ffen0510 2009-06-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 william3033 的回复:]
和小学的题目结果还有点不一样,呵呵,小学的题目是要求指针完全重合,而且不完全是整数的。

Java code

public class GetTime {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int ch =0;
int h = 0;
int m = 0;
int s = 0;
StringBuffer sb = new StringBuffer();
for(h…
[/Quote]
这个是12小时内的重合~~~24小时的呢可不可以写下呢~~似乎是在这个基础上套用if语句~~~
ffen0510 2009-06-06
  • 打赏
  • 举报
回复
做得好的当然就有分啦~~~多用几种方法啦~~~这样可以多借鉴借鉴~~~第一个的答案是24~~~每小时一次 第二个还是很晕乎

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧