🧑‍🎓个人介绍:网络生,现学JAVA、Linux、达梦数据库、算法

💻博客主页:渡过晚枫渡过晚枫
👓系列专栏:[编程神域 C语言][java/初学者][蓝桥杯]

📖阶段目标:备战2026蓝桥杯java个人赛

 👻不能逃避,不能逃避,不能逃避,去成为更好的自己!👻


一、🍁题目描述:

求 1∼20250412中,有多少个数可以通过改变其数字顺序后含有 2025。

例如,5220、21520 可以,而 205、225、2200、222555111 则不行。

提示:要求的数就是含有至少 1 个 0、2个 2、1个 5 的数。


二、🍁题目分析:

利用foreach循环检测是否有符合条件的数字,最后才进行判断即可。


三、🍁解题代码:

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) 
    {
        int count = 0;
        for (int i = 1000; i <= 20250412; i++) 
        {
            String s = String.valueOf(i); //整型转换字符型
            int c2 = 0, c0 = 0, c5 = 0; //计数

            for (char c : s.toCharArray()) // 增强型 for 循环( for-each 循环)语法,用于遍历数组或集合中的元素。
            {
                if (c == '2') c2++;
                if (c == '0') c0++;
                if (c == '5') c5++;
            }
            if (c0 >= 1 && c5 >= 1 && c2 >= 2) 
               count++;
        }
        System.out.println(count);//506754

    }
}

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐