首页 > 编程语言 >计挑-21-编程1

计挑-21-编程1

时间:2022-11-22 23:00:34浏览次数:51  
标签:21 temp int 编程 样例 计挑 StringTokenizer new

从大于等于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

相关文章