栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

蓝桥杯——BASIC-9
題目传送门
问题描述
  123321是一个非常特殊的数,它从左边读和从右边读是一样的。
  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入格式
  输入一行,包含一个正整数n。
输出格式
  按从小到大的顺序输出满足条件的整数,每个整数占一行。
样例输入
52
样例输出
899998
989989
998899
思路:
利用 BASIC-8 的方法,写出两个for循环,即五位数的和六位数的

import java.util.Scanner
public class BASIC_09 {
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int n = s.nextInt();
        
//五位数
        for (int i=1;i<10;i++){
            for (int j=0;j<10;j++){
                for (int k=0;k<10;k++){
                    for (int m=0;m<10;m++){
                        for(int q =0;q 

还有一种更简洁的方法,即将五位、六位十进制数全部遍历出来,然后利用判断条件,筛选出我们需要的即可

import java.util.Scanner;
public class BASIC_09_OS {
    public static void main(String[] args)  {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int a,b,c,d,e,f;
        for(int i = 10000;i<=99999;i++){
            a = i%10;//个位
            b = i/10%10;//十位
            c = i/100%10;//百位
            d = i/1000%10;//千位
            e = i/10000;//万位
            if(a == e && b == d && a+b+c+d+e == n){
                System.out.println(i);
            }
        }
        for(int i = 100000;i<999999;i++){
            a = i%10;//个位
            b = i/10%10;//十位
            c = i/100%10;//百位
            d = i/1000%10;//千位
            e = i/10000%10;//万位
            f = i/100000;
            if(a == f && b == e && c == d && a+b+c+d+e+f == n){
                System.out.println(i);
            }
        }
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/686450.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号