"从大于等于N的正整数里找到一个最小的数M,使之满足:
M和M的逆序数(如1230的逆序数为321)的差的绝对值为一个[100000,200000]区间内的值。
输入说明:起始数字N;
输出说明:找到的第一个符合条件的数,如果没有符合条件的数,输出F。
输入样例:123456
输出样例:123462
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数字");
int N = scanner.nextInt();
//看是几位数
int Breaknum = 0;
while (true) {
String n_length = N + "";
int len = n_length.length();
int daoXuNUM = 0;
for (int i = 1; i <= len; i++) {
// 1234
if (i == 1) {
// 4
daoXuNUM = N % 10;
}
// 40 + 3 = 43
if (i == 2) {
daoXuNUM = (daoXuNUM * 10) + (N / 10) % 10;
}
//430+2
if (i == 3) {
daoXuNUM = (daoXuNUM * 10) + (N / 100) % 10;
}
if (i == 4) {
daoXuNUM = (daoXuNUM * 10) + (N / 1000) % 10;
}
if (i == 5) {
daoXuNUM = (daoXuNUM * 10) + (N / 10000) % 10;
}
if (i == 6) {
daoXuNUM = (daoXuNUM * 10) + (N / 100000) % 10;
}
}
int num = N - daoXuNUM;
if (num < 0) {
num = num * -1;
}
if (num > 100000 && num < 200000) {
System.out.println(N);
break;
} else {
N++;
}
Breaknum ++;
if (Breaknum ==100){
System.out.println("F");
break;
}
}
}
}