逻辑:从五位六位数中查找,如果满足回文数并且相加等于输入的数,就输出。
声明个十百千万,五个变量
五位数:10000-99999
查找:一个五位数,65432
个位数怎么得到? 65432%10=2
十位数?65432/10=6543,之后除以10取余,6543%10=3;
百位数?65432/100=654,之后除以10取余,654%10=4;
千位数?65432/1000=65,之后除以10取余,65%10=5;
万位数?65432/10000=6;
具体代码如下:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int a,b,c,d,e,f;
for(int i = 10000;i<=99999;i++){
a = i%10;//个位
b = i/10%10;//十位
c = i/100%10;//百位
d = i/1000%10;//千位
e = i/10000;//万位
if(a == e && b == d && a+b+c+d+e == n){
System.out.println(i);
}
}
for(int i = 100000;i<999999;i++){
a = i%10;//个位
b = i/10%10;//十位
c = i/100%10;//百位
d = i/1000%10;//千位
e = i/10000%10;//万位
f = i/100000;
if(a == f && b == e && c == d && a+b+c+d+e+f == n){
System.out.println(i);
}
}
}
}