题目
这天小明正在学数数。
他突然发现有些正整数的形状像一挫 “山”, 比如 123565321、 145541123565321它 们左右对称 (回文) 且数位上的数字先单调不减, 后单调不增。
小朋数了衣久也没有数完, 他惒让你告诉他在区间 [2022,2022222022] 中有 多少个数的形状像一座 “山”。
答案
3138
代码
public class 山 {
public static void main(String[] args) {
long count = 0;
for(long i=2022;i<=2022222022;i++) {
if(huiwen(i)&&up(i)) {
System.out.println(i);
count++;
}
}
System.out.println(count);
}
static boolean huiwen(Long i) {
StringBuffer s;
String tmp,reverse;
s = new StringBuffer(Long.toString(i));
tmp = new String(s.toString());
reverse = s.reverse().toString();
if(tmp.equals(reverse)) return true;
else return false;
}
static boolean up(Long i) {
String s = new String(Long.toString(i));
for(int k=0;k<s.length()/2;k++) {
if(s.charAt(k)>s.charAt(k+1)) return false;
}
return true;
}
}