从大于等于N的正整数里找到一个最小的数M,使之满足:M和M的逆序数(如1230的逆序数为321)的差的绝对值为一个[100000,200000]区间内的值。
输入说明:起始数字N;
输出说明:找到的第一个符合条件的数,如果没有符合条件的数,输出F。
输入样例:123456
输出样例:123462
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer stringTokenizer = new StringTokenizer(br.readLine());
int n = Integer.parseInt(stringTokenizer.nextToken());
for(int i=n;i<Integer.MAX_VALUE;i++){
int temp = Math.abs(i+reverseInt(i));
System.out.println(i+"->"+temp);
if(temp>=100000&&temp<=200000){
System.out.println(i);
return;
}
}
System.out.println('F');
}
/**
* 反转一个整数
*/
public static int reverseInt(int n){
int res = 0;
while (n != 0) {
// 这里的控制简单粗暴
if (res > Integer.MAX_VALUE / 10 || res <Integer.MIN_VALUE / 10) return 0;
res = res * 10 + n%10;
n /= 10;
}
return res;
}
标签:21,temp,int,编程,样例,计挑,StringTokenizer,new
From: https://www.cnblogs.com/yaocy/p/16916813.html