蓝桥杯 特殊回文数

蓝桥杯 特殊回文数

题目

123321是一个非常特殊的数,它从左边读和从右边读是一样的。输入一个正整数n,编程求所有这样的五位和六位十进制数,满足各位数字之和等于n。

输入格式

输入一行,包含一个正整数n。

输出格式

按从小到大的顺序输出满足条件的整数,每个整数占一行。

输入样例

1
52

输出样例

1
2
3
899998
989989
998899

数据规模和约定

1<=n<=541<=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);
}
}
}
文章作者: Shengyaqingfeng
文章链接: https://creazyboyone.github.io/lqb48/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Shengyaqingfeng's Blog