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

举报
辰醋 发表于 2022/02/21 21:20:24 2022/02/21
【摘要】 资源限制时间限制:1.0s   内存限制:512.0MB问题描述  123321是一个非常特殊的数,它从左边读和从右边读是一样的。  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式  输入一行,包含一个正整数n。输出格式  按从小到大的顺序输出满足条件的整数,每个整数占一行。解题思路:import java.util.Scanner;public ...
资源限制
时间限制:1.0s   内存限制:512.0MB
问题描述
  123321是一个非常特殊的数,它从左边读和从右边读是一样的。
  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
输入格式
  输入一行,包含一个正整数n。
输出格式
  按从小到大的顺序输出满足条件的整数,每个整数占一行。
解题思路:
import java.util.Scanner;

public class Main {
//123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。
     public static void main(String[] args) {
//方法一将数的各个数字分离
     Scanner sc=new Scanner(System.in);
//获取输入的数字n
     int n=sc.nextInt();
//先算5位数
     for(int i=10000;i<=99999;i++) {
     int a=i / 10000 % 10;//求出万位上的数
     int b=i / 1000 % 10; //求出千位上的数
     int c=i / 100 % 10; //求出百位上的数
     int d=i / 10 % 10;  //求出十位上的
     int e=i % 10;    //求出个位上的数
     if(a==e && b==d && (a+b+c+d+e)==n) {
         System.out.println(i);
       }
      }
//再算6位数
     for(int i=100000;i<=999999;i++) {
     int a=i / 100000 % 10;//求出十万位上的数
     int b=i / 10000 % 10; //求出万位上的数
     int c=i / 1000 % 10; //求出千位上的数
     int d=i / 100 % 10;  //求出百位上的
     int e=i /10 % 10;    //求出十位上的数
     int f=i % 10;    //求出个位上的数
     if(a==f && b==e && c==d && (a+b+c+d+e+f)==n) {
           System.out.println(i);
        }
      }
}
}
效果图:
希望对大家有所帮助!
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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