风行云吧 关注:46,799贴子:578,521
  • 6回复贴,共1

三个联系相同数字时钟题目解法——Java程序解法

只看楼主收藏回复

public class Test {
public static void main(String[] args) {
int result = 0;
for (int hour = 0; hour < 24; hour++) {
for (int min = 0; min < 60; min++) {
String clock = "";
String sHour = "";
String sMin = "";
sHour = hour < 10 ? "0" + String.valueOf(hour) : String.valueOf(hour); //小时低于10,例如 1点,应该是“01”
sMin = min < 10 ? "0" + String.valueOf(min) : String.valueOf(min); //分钟低于10,例如 2分,应该是“02”
clock = sHour + sMin; //模拟时钟,例如:0112代表一点十二分
//若有连着三个相等的字符,统计结果+1
if (repet(clock)) {
result++;
}
}
}
System.out.println(result); //输出结果
}
/**
* 判断四位数的字符串是否有连着三个字符相等
* @param s
* @return
*/
public static boolean repet(String s){
if((s.charAt(0) == s.charAt(1) && s.charAt(1) == s.charAt(2)) ||
(s.charAt(1) == s.charAt(2) && s.charAt(2)== s.charAt(3))
) {
return true;
} else {
return false;
}
}
}

由此可见,答案确实为43


IP属地:陕西1楼2019-06-15 20:09回复
    兄弟,你这写的太复杂了。


    IP属地:湖北2楼2019-06-15 20:24
    收起回复
      水友都是人才


      IP属地:河北来自Android客户端3楼2019-06-15 20:47
      回复
        count = 0
        t = ['0','0','0','0']
        for a in range(10):
        for b in range(10):
        for c in range(10):
        for d in range(10):
        t[0]=str(a)
        t[1]=str(b)
        t[2]=str(c)
        t[3]=str(d)
        if int(t[0]+t[1])<24 and int(t[2]+t[3])<60:
        if t[0]==t[1]==t[2] or t[1]==t[2]==t[3]:
        count+=1
        print(count)
        用python搞了一个


        IP属地:江苏4楼2019-06-15 21:30
        回复


          IP属地:江苏5楼2019-06-15 21:34
          回复
            很简单了,只是我看不懂而已


            IP属地:浙江来自Android客户端6楼2019-06-16 09:20
            回复