成都網(wǎng)站建設(shè)多少錢sem技術(shù)培訓(xùn)
"從大于等于N的正整數(shù)里找到一個最小的數(shù)M,使之滿足:
M和M的逆序數(shù)(如1230的逆序數(shù)為321)的差的絕對值為一個[100000,200000]區(qū)間內(nèi)的值。
輸入說明:起始數(shù)字N;
輸出說明:找到的第一個符合條件的數(shù),如果沒有符合條件的數(shù),輸出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("請輸入數(shù)字");int N = scanner.nextInt();//看是幾位數(shù)int Breaknum = 0;while (true) {String n_length = N + "";int len = n_length.length();int daoXuNUM = 0;for (int i = 1; i <= len; i++) {// 1234if (i == 1) {// 4daoXuNUM = N % 10;}// 40 + 3 = 43if (i == 2) {daoXuNUM = (daoXuNUM * 10) + (N / 10) % 10;}//430+2if (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;}}}
}