问题

问题描述

  123321是一个非常特殊的数,它从左边读和从右边读是一样的。
  输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。

输入格式

  输入一行,包含一个正整数n。

输出格式

  按从小到大的顺序输出满足条件的整数,每个整数占一行。

样例输入

52

样例输出

899998
989989
998899

数据规模和约定

  1<=n<=54。

思路

  • 分五位数和六位数  先求出数的每一位再求和 利用回文数的对称性

代码

一开始我用的以下方法,运行结果有但发现运行超时了

数据有点庞大又有三个嵌套循环一次次遍历非常费时

import java.util.Scanner;//特殊回文数
public class Demo13 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int sum=0;for(int i=10000;i<1000000;i++) {for(int a=0;a<10;a++) {for(int b=0;b<10;b++) {for(int c=0;c<10;c++) {if(i==a*10000+b*1000+c*100+b*10+a) {sum=2*a+2*b+c;if(n==sum)System.out.println(i);}if(i==a*100000+b*10000+c*1000+c*100+b*10+a) {sum=2*a+2*b+2*c;if(n==sum)System.out.println(i);}}}}  }}
}

发现不需要去五位数六位数之间找,太费时了,先找到满足回文数再直接求这个数

这时发现这里a不能从0开始了,修改为从1开始,案例运行成功,但提交又报错了

import java.util.Scanner;//特殊回文数
public class Demo13 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();for(int a=1;a<10;a++) {for(int b=0;b<10;b++) {for(int c=0;c<10;c++) {if(2*a+2*b+c==n) {System.out.println(a*10000+b*1000+c*100+b*10+a);}if(2*a+2*b+2*c==n) {System.out.println(a*100000+b*10000+c*1000+c*100+b*10+a);}}}}}
}

最后找到原因,题目要求按从小到大的顺序输出满足条件的整数,而以上代码极有可能五位数六位数穿插输出,事实也是,当我输入n为24时,数据没按从小到大的顺序了,最后将它们分开来求

import java.util.Scanner;//特殊回文数
public class Demo13 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();for(int a=1;a<10;a++) {for(int b=0;b<10;b++) {for(int c=0;c<10;c++) {if(2*a+2*b+c==n) {System.out.println(a*10000+b*1000+c*100+b*10+a);}}}}for(int a=1;a<10;a++) {for(int b=0;b<10;b++) {for(int c=0;c<10;c++) {if(2*a+2*b+2*c==n) {System.out.println(a*100000+b*10000+c*1000+c*100+b*10+a);}}}}sc.close();}
}

总结

  • 这题非常容易在细节上出问题,比如a的循环应该从1开始,因为一个数的最高位数不能为0,再比如求abcba或abccba时容易出错地写成abccbc之类的

致读者

请特别注意,在蓝桥杯练习系统,Java的主类名必须是Main

菜鸟正在学习,慢慢进步,如有意见或建议,望大佬指正!欢迎评论留言

蓝桥杯 基础练习 特殊回文数 JAVA相关推荐

  1. 蓝桥杯-基础练习-特殊回文数

    蓝桥杯-基础练习-特殊回文数 问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n . 输入格式 输 ...

  2. 蓝桥杯 基础练习 BASIC-8 回文数 循环 判断 回文数

    基础练习 回文数 时间限制:1.0s 内存限制:512.0MB 问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数. 输出格式 按从小到大的顺序输出满足条 ...

  3. 【c语言】蓝桥杯基础练习 特殊回文数

    [问题描述] 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n . [输入格式] 输入一行,包含一个正整数 ...

  4. [蓝桥杯]基础练习 特殊回文数

    #include<iostream> #include<vector>using namespace std;/* 打印 10000 ~ 1000000里所有回文数及对应各个位 ...

  5. 蓝桥杯 基础练习 特殊回文数

    问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n . 输入格式 输入一行,包含一个正整数n. 输 ...

  6. 蓝桥杯系统练习:回文数、特殊回文数

    1.回文数 问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数. 输出格式 按从小到大的顺序输出满足条件的四位十进制数. #include <std ...

  7. 蓝桥杯 ALGO-14 算法训练 回文数

    问题描述 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数. 例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数. 又如:对于10进制数 ...

  8. 【蓝桥杯】 算法训练 回文数

    问题描述 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数. 例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数 又如:对于10进制数8 ...

  9. 【蓝桥杯】基础练习 特殊回文数

    [蓝桥杯]基础练习 特殊回文数 试题 基础练习 特殊回文数 资源限制 时间限制:1.0s   内存限制:512.0MB 问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一 ...

  10. Python 蓝桥杯试题 基础练习 特殊回文数

    Python 蓝桥杯试题 基础练习 特殊回文数 问题描述: 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于 ...

最新文章

  1. GMTC 大前端时代前端监控的最佳实践
  2. 5.10. Web Tools
  3. python 数据库订阅_发布/订阅数据库和客户端编程数据库有什么区别?
  4. 能ping通外网的域名,浏览器不能上网的解决办法
  5. myeclipse6-ejb3入门
  6. IPFS: NAT traversal(NAT穿越)
  7. Django扩展自定义manage命令
  8. 春招我借这份PDF的复习思路,论程序员成长的正确姿势
  9. STL中的关联式容器——map(映射)
  10. [Swift通天遁地]二、表格表单-(15)自定义表单文本框内容的格式
  11. tftp路由器刷机修复工具_魅族路由器极速版刷老毛子固件教程
  12. 贪吃蛇贪吃蛇代码--c语言版 visual c++6.0打开
  13. SAP UI5 在 PC 端浏览器和移动设备使用摄像头进行条形码扫描的几种解决方案介绍
  14. iOS打包Framework
  15. eNSP下园区网综合实验分步配置(1)Eth-Trunk、Vlan、Trunk
  16. 搜索引擎技术 —— 网络爬虫
  17. 数学基础-概率论01(离散型分布)
  18. 装了svn桌面右键没有_右键菜单没有svn选项怎么办|win7 svn没有右键菜单怎么解决|svn添加到右键菜单方法...
  19. php 搜索字符串ctrl f_js搜索关键字(Ctrl + F)
  20. Centos7安装Scrapy过程

热门文章

  1. cornell movie-dialogs corpus 康奈尔大学电影对话语料介绍及下载 可用于dialog,chatbot
  2. Failed to compile../public/UEditor/dialogs/template/template.html 1:0Module parse failed: Unexpec
  3. flink job 提交模式
  4. libcurl入门之相关接口函数curl_easy_getinfo
  5. echart 三维可视化地图_ECharts实现三维可视化
  6. 详解Boost电路的基本原理
  7. 俺也去了WinHec..............
  8. 智能开关双控实现方法(附电路图)
  9. Java中的frontcolor_front的用法总结大全
  10. WIN 10 系统Alt + Tab 切换窗口卡顿问题结局方案