第十三届蓝桥杯B组Java(试题B:山)
简介:这一题就比较难了,我的题解需要1分钟左右才可以算出答案。
答案:3138
题解:
import java.math.BigInteger; public class Main { public static void main(String[] args) { int cnt = 0; for (int i = 2022; i <= 2022222022; ++ i) { if (check(i)) cnt ++; } System.out.println(cnt); } public static boolean check(int num) { char [] chs = ("" + num).toCharArray(); // 把num转换成字符数组 int start = 0; int end = chs.length - 1; while(start < end) { // 如果首尾元素不同 或者没有往中间递增 那么就是false if (chs[start] != chs[end] || chs[start] > chs[start + 1]) return false; start ++; end --; } return true; } }