🧑🎓个人介绍:网络生,现学JAVA、Linux、达梦数据库、算法
👓系列专栏:[编程神域 C语言],[java/初学者],[蓝桥杯]
📖阶段目标:备战2026蓝桥杯java个人赛
👻不能逃避,不能逃避,不能逃避,去成为更好的自己!👻
一、🍁题目描述:
求 1∼20250412中,有多少个数可以通过改变其数字顺序后含有 2025。
例如,5220、21520 可以,而 205、225、2200、222555111 则不行。
提示:要求的数就是含有至少 1 个 0、2个 2、1个 5 的数。
二、🍁题目分析:
利用foreach循环检测是否有符合条件的数字,最后才进行判断即可。
三、🍁解题代码:
java
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
}
}
