回文数字

观察数字:123211232112321,123321123321123321 都有一个共同的特征,就是无论从左到右读还是从右向左读,都是相同的。这样的数字叫做 回文数字。

现在要从 555 位或 666 位的十进制数字中找出各个数位之和等于 nnn 的回文数字。

输入格式

输入一个整数 n(10≤n≤100)n(10 \leq n \leq 100)n(10n100)。

输出格式

输出所有各个数位之和等于 nnn 的 555 位和 666 位整数,每个数字占一行,数字按从小到大的顺序排列。如果没有满足条件的数字,则输出 −1-11。

样例输入

48

样例输出

699996
789987
798897
879978
888888
897798
969969
978879
987789
996699
package 计蒜客;

import java.util.Scanner;

public class 回文数字 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan=new Scanner(System.in);
        int n=scan.nextInt();
        boolean flag=true;
        for(int i=10000;i<=999999;i++){
            int a=i%10;
            int b=(i/10)%10;
            int c=(i/100)%10;
            int d=(i/1000)%10;
            int e=(i/10000)%10;
            int f=(i/100000)%10;
            StringBuffer sb=new StringBuffer(i+"");
            StringBuffer sb1=new StringBuffer(i+"");
            if(a+b+c+d+e+f==n&&sb.toString().equals(sb1.reverse().toString())){
                flag=false;
                System.out.println(i);
            }
        }
        if(flag==true){
            System.out.println(-1);
        }
    }

}

 

posted @ 2018-03-12 23:11  henu小白  阅读(980)  评论(0编辑  收藏  举报