蓝桥杯 特殊回文数
题目
123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n,编程求所有这样的五位和六位十进制数,满足各位数字之和等于n。
输入格式
输入一行,包含一个正整数n。
输出格式
按从小到大的顺序输出满足条件的整数,每个整数占一行。
输入样例
输出样例
数据规模和约定
1<=n<=54。
思路
水题,暴搜满足两个条件:各位数之和为输入数字。五位或者六位数字。
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| import java.util.ArrayList; import java.util.Scanner;
public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt();
ArrayList<Integer> arrayList = new ArrayList(); for (int i = 1; i <= 9; i++) { for (int j = 0; j <= 9; j++) { for (int l = 0; l <= 9; l++) { int item = (int) (i * Math.pow(10, 4) + j * Math.pow(10, 3) + l * Math.pow(10, 2) + j * Math.pow(10, 1) + i * Math.pow(10, 0)); if (n == i + j + l + i + j) { arrayList.add(item); } } for (int k = 0; k <= 9; k++) { int sum = i + j + k; if (n == 2 * sum) { int item = (int) (i * Math.pow(10, 5) + j * Math.pow(10, 4) + k * Math.pow(10, 3) + k * Math.pow(10, 2) + j * Math.pow(10, 1) + i * Math.pow(10, 0)); arrayList.add(item); } } } }
arrayList.sort(null); for (Integer integer : arrayList) { System.out.println(integer); } } }
|