回文数字
观察数字:123211232112321,123321123321123321 都有一个共同的特征,就是无论从左到右读还是从右向左读,都是相同的。这样的数字叫做 回文数字。
现在要从 555 位或 666 位的十进制数字中找出各个数位之和等于 nnn 的回文数字。
输入格式
输入一个整数 n(10≤n≤100)n(10 \leq n \leq 100)n(10≤n≤100)。
输出格式
输出所有各个数位之和等于 nnn 的 555 位和 666 位整数,每个数字占一行,数字按从小到大的顺序排列。如果没有满足条件的数字,则输出 −1-1−1。
样例输入
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); } } }