计挑-21-编程1

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

本文作者:YaosGHC

本文链接:https://www.cnblogs.com/yaocy/p/16916813.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   YaosGHC  阅读(110)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起