蓝桥杯java 基础练习 特殊回文数

import java.util.Scanner;  

public class Main {  
    static Boolean a(int n) {  
        int x = 0, r, o;  
        o = n;  
        while (n > 0) {  
            r = n % 10;  
            x = x * 10 + r;  
            n = n / 10;  
        }  
        if (o == x)  
            return true;  
        else  
            return false;  
    }//判断是否为回文数  
  
    public static int b(int num1) {  
        int a, b, c, sum;  
        if (num1 > 99999) {  
            a = num1 / 100000;  
            b = num1 / 10000 % (a * 10);  
            c = num1 / 1000 % (a * 100 + b * 10);  
            sum = 2 * (a + b + c);  
        } else {  
            a = num1 / 10000;  
            b = num1 / 1000 % (a * 10);  
            c = num1 / 100 % (a * 100 + b * 10);  
            sum = a + b + c + b + a;  
        }  
        return sum;  
    }//把每一位相加得到和  
  
    public static void main(String[] args) {  
        Scanner input = new Scanner(System.in);  
        int num, in;  
        in = input.nextInt();  
        for (num = 10000; num <= 999999; num++) {  
            if (a(num) && b(num) == in) {  
                System.out.println(num);  
            }  
        }  
    }  
}  

猜你喜欢

转载自blog.csdn.net/sytandxly/article/details/79595611
今日推荐