package jiChu;
import java.util.Scanner;
/**
* 123321是一个非常特殊的数,它从左边读和从右边读是一样的。
* 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
* 时间限制:1.0s 内存限制:512.0MB
* 1<=n<=54。
* @author Vivinia
*
* 2018年1月19日
*/
public class palindrome {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int n=input.nextInt();
input.close();
for(int i=10000;i<999999;i++) {
int g=i%10,s=i%100/10,b=i%1000/100,q=i/1000%100%10,w=i/10000%10,sw=i/100000; //分别取个位,十位,百位。。。
if(g+s+b+q+w+sw==n) {
if((i<100000&&g==w&&s==q)||(i>=100000&&g==sw&&s==w&&b==q)) //如果为回文数,五位数和六位数相等位要分开判断
System.out.println(i);
}
}
}
}
1.因为数字位数最大到五位或六位,所以int型足够;
2.判断回文时五位和六位要分开判断;