蓝桥杯——BASIC-9——特殊回文数
【摘要】 资源限制时间限制:1.0s 内存限制:512.0MB问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式 输入一行,包含一个正整数n。输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入52样例输出899998989989998899数据规模和约定 ...
资源限制
时间限制:1.0s 内存限制:512.0MB
问题描述
123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入格式
输入一行,包含一个正整数n。
输出格式
按从小到大的顺序输出满足条件的整数,每个整数占一行。
样例输入
52
样例输出
899998
989989
998899
989989
998899
数据规模和约定
1<=n<=54。
代码如下:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
int n=scanner.nextInt();
scanner.close();
ArrayList<Integer> al= new ArrayList<Integer>(); //<T>泛型,创建一个集合类,里面只能存放Integer类型的数
for(int i=1; i<10; i++)
for(int j=0; j<10; j++)
for(int k=0; k<10; k++)
{
if(2*i+2*j+k==n)
al.add(i*10000 + j*1000 + k*100+ j*10 + i); //add(E e) 将指定的元素添加到此列表的尾部
if(2*i+2*j+2*k==n)
al.add(i*100000 + j*10000+ k*1000 + k*100+ j*10 + i);
}
Collections.sort(al); //根据元素的自然顺序 对指定列表按升序进行排序
for(int i=0; i< al.size(); i++) //size()返回此列表中的元素数
System.out.println(al.get(i)); //get(int index)返回此列表中指定位置上的元素
}
}
希望对大家有所帮助!
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)