蓝桥杯——BASIC-9——特殊回文数

举报
坚持与放弃 发表于 2022/02/22 16:11:27 2022/02/22
【摘要】 资源限制时间限制:1.0s   内存限制:512.0MB问题描述  123321是一个非常特殊的数,它从左边读和从右边读是一样的。  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式  输入一行,包含一个正整数n。输出格式  按从小到大的顺序输出满足条件的整数,每个整数占一行。样例输入52样例输出899998989989998899数据规模和约定  ...
资源限制
时间限制:1.0s   内存限制:512.0MB
问题描述
  123321是一个非常特殊的数,它从左边读和从右边读是一样的。
  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入格式
  输入一行,包含一个正整数n。
输出格式
  按从小到大的顺序输出满足条件的整数,每个整数占一行。
样例输入
52
样例输出
899998
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)返回此列表中指定位置上的元素 
    }
}

222-8.png

希望对大家有所帮助!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。