蓝桥杯试题 基础练习 BASIC-9 特殊回文数 JAVA——冲刺蓝桥杯第五天
试题 基础练习 特殊回文数
资源限制
时间限制:1.0s 内存限制:512.0MB
问题描述
123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入格式
输入一行,包含一个正整数n。
输出格式
按从小到大的顺序输出满足条件的整数,每个整数占一行。
样例输入
52
样例输出
899998
989989
998899
数据规模和约定
1<=n<=54。
import java.util.ArrayList;
import java.util.Scanner;
public class SpecialPalindrome {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.close();
ArrayList<Integer> arrayList5 = new ArrayList<>(); //存放五位十进制数
ArrayList<Integer> arrayList6 = new ArrayList<>(); //存放六位十进制数
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
for (int k = 0; k < 10; k++) {
for (int p = 0; p < 10; p++) {
for (int m = 0; m < 10; m++) {
int a = i * 10000 + j * 1000 + k * 100 + p * 10 + m;
int b = m * 10000 + p * 1000 + k * 100 + j * 10 + i;
int c = i + j + k + p + m;
if (a == b && c == n && a >= 10000) {
arrayList5.add(a);
}
for (int l = 0; l < 10; l++) {
a = i * 100000 + j * 10000 + k * 1000 + p * 100 + m * 10 + l;
b = l * 100000 + m * 10000 + p * 1000 + k * 100 + j * 10 + i;
c = i + j + k + p + m + l;
if (a == b && c == n&&a >= 100000) {
arrayList6.add(a);
}
}
}
}
}
}
}
for (int i : arrayList5) {
System.out.println(i);
}
for (int i : arrayList6) {
System.out.println(i);
}
}
}
大家好,我是[爱做梦的子浩](https://blog.csdn.net/weixin_43124279),我是东北大学大数据实验班大三的小菜鸡,非常向往优秀,羡慕优秀的人,已拿两个暑假offer,欢迎大家找我进行交流😂😂😂
这是我的博客地址:[子浩的博客https://blog.csdn.net/weixin_43124279]
——
版权声明:本文为CSDN博主「爱做梦的子浩」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。