举世皆浊我独清,众人皆醉我独醒
点赞再看,养成习惯
问题描述
123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入格式
输入一行,包含一个正整数n。
输出格式
按从小到大的顺序输出满足条件的整数,每个整数占一行。
样例输入
52
样例输出
899998
989989
998899
import java.util.Scanner;
public class SpecialPalindromeNumber {
public static void main(String[] args) {
//特殊回文数
//思路,充分利用for循环,依次寻找个十百千位对应数字,看是否满足两个条件:第一,个十百千对应位数相等。第二,每位数字之和为开始输入的数字。满足条件则转换为五位数输出。六位数则同样处理方法。
Scanner sc=new Scanner(System.in);
int num=sc.nextInt();
int a,b,s,d,t,o,z;
for (a = 0; a < 10; a++)
for (b = 0; b < 10; b++)
for (s = 0; s < 10; s++)
for (d = 0; d < 10; d++)
for (t = 0; t < 10; t++)
for (o = 0; o < 10; o++) {
if(a==o)
if(b==t)
if(s==d) {
z=a+b+s+d+t+o;
if(num==z)
System.out.println(""+a+b+s+d+t+o);
}
}
}
}