题意
输入一个数字n
输出一个五位或六位回文数 && 各位数字和为n
代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner keyin = new Scanner(System.in);
int n = keyin.nextInt();
int result = 0;
for (int i = 0; i < 10; i++) {
boolean digit5 = false;
for (int j = 0; j < 10; j++) {
if(i == 0){
digit5 = true;
if( j == 0) continue;
}
for (int j2 = 0; j2 < 10; j2++) {
for (int k = 0; k < 10; k++) {
for (int k2 = 0; k2 < 10; k2++) {
for (int l = 0; l < 10; l++) {
if(digit5){
if(j == l && j2 == k2 && n == j+j2+k+k2+l){
result = j*10000 + j2*1000 + k*100 + k2*10 + l;
System.out.println(result);
}
}
else{
if(i == l && j == k2 && j2 == k && n == i+j+j2+k+k2+l){
result = i*100000 + j*10000 + j2*1000 + k*100 + k2*10 + l;
System.out.println(result);
}
}
}
}
}
}
}
}
}
}
Summary
1.五层循环 每层都是 0 to 9 + 特殊(第一层为0时,若第二层也为0 -> continue; else digit5 process )else digit6 process
2.一层循环 10000 to 999999 + if digit5 else digit6 + MOD & / 取出各位操作