蓝桥杯真题:完美序列(Java解法)

发布时间:2024年01月24日
   小明特别喜欢顺子。顺子指的就是连续的三个数字:123、456 等。顺子日期指的就是在日期的?yyyymmdd?表示法中,存在任意连续的三位数是一个顺子的日期。例如 20220123 就是一个顺子日期,因为它出现了一个顺子:123; 而 20221023 则不是一个顺子日期,它一个顺子也没有。小明想知道在整个 2022 年份中,一共有多少个顺子日期?
public class 顺子日期 {
    public static void main(String[] args) {
        int count = 0; //定义一个计数器
        //int i;     //i为月 1<=i<=12
        //int j;     //j为日 1<=j<=31
        for (int i = 1; i <= 12 ; i++) {
            String x;
            //将月转化为长度为2的字符串
            if (i < 10)
                x = "0" + i;
            else
                x = "" + i;
            for (int j = 1; j <= 31; j++) {
                String y;
                //将日转化为长度为2的字符串
                if (j < 10)
                    y = "0" + j;
                else
                    y = "" + j;
                //将月和日组合起来
                String z = x + y;
                char[] array = z.toCharArray();
                int a = array[0] - '0'; //将第1个字符转化为数值
                int b = array[1] - '0'; //将第2个字符转化为数值
                int c = array[2] - '0'; //将第3个字符转化为数值
                int d = array[3] - '0'; //将第4个字符转化为数值
                if ((b - a == 1 && c - b == 1) || (c - b == 1 && d - c == 1)) //若是连续则计数器+1
                    count++;
            }
        }
        System.out.println(count);
    }
}

文章来源:https://blog.csdn.net/m0_73841436/article/details/135691596
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。