一、题目描述
问题描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
这天小明正在学数数。
他突然发现有些止整数的形状像一挫 “山”, 比如 123565321、145541,它 们左右对称 (回文) 且数位上的数字先单调不减, 后单调不增。
小朋数了衣久也没有数完, 他惒让你告诉他在区间 [2022,2022222022]中有 多少个数的形状像一座 “山”。
运行限制
- 最大运行时间:1s
- 最大运行内存: 512M
二、解题思路
对范围内的数字进行暴力循环,满足回文和不递减的计数
三、解题代码
import java.io.*;
import java.util.Scanner;
public class Main {
public static int check(int n){
String s=String.valueOf(n);
for(int i=0,j=s.length()-1;i<s.length()/2;i++,j--){
if(s.charAt(i)!=s.charAt(j)) {
return 0;
}
}
for(int i=1;i<s.length()/2+1;i++){
if(s.charAt(i)<s.charAt(i-1)) {
return 0;
}
}
return 1;
}
public static void main(String[] args){
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(System.in));
Scanner scanner=new Scanner(System.in);
int res=0;
for(int i=2022;i<=2022222022;i++){
res+=check(i);
}
System.out.println(res);
}
}