蓝桥杯 历届试题 回文数字
来源:互联网 发布:淘宝怎样找妹子服务 编辑:程序博客网 时间:2024/05/24 05:12
问题描述
观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。
本题要求你找到一些5位或6位的十进制数字。满足如下要求:
该数字的各个数位之和等于输入的整数。
输入格式
一个正整数 n (10< n <100), 表示要求满足的数位和。
输出格式
若干行,每行包含一个满足要求的5位或6位整数。
数字按从小到大的顺序排列。
如果没有满足条件的,输出:-1
样例输入
44
样例输出
99899
499994
589985
598895
679976
688886
697796
769967
778877
787787
796697
859958
868868
877778
886688
895598
949949
958859
967769
976679
985589
994499
样例输入
60
样例输出
-1
代码:
用简单的循环实现。
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n=sc.nextInt();//n, m,分别表示小岛的个数和桥的数量。 boolean exist=false; //计算5位数 for(int i=1;i<=9;i++){ if(n-i*2<0){ break; } else if(n-i*2>27){ continue; } for(int j=0;j<=9;j++){ if(n-(i+j)*2<0){ break; } else if(n-(i+j)*2>9){ continue; } System.out.println(i*10000+j*1000+(n-(i+j)*2)*100+j*10+i); exist=true; } } //计算6位数 for(int i=1;i<=9;i++){ if(n-i*2<0){ break; } else if(n-i*2>36){ continue; } for(int j=0;j<=9;j++){ if(n-(i+j)*2<0){ break; } else if(n-(i+j)*2>18 || (n-(i+j)*2)%2==1){ continue; } System.out.println(i*100000+j*10000+(n-(i+j)*2)/2*(1000+100)+j*10+i); exist=true; } } if(!exist) System.out.println(-1); }}
0 0
- 蓝桥杯历届试题 回文数字
- 蓝桥杯 历届试题 回文数字
- 蓝桥杯 历届试题 回文数字
- 蓝桥杯 历届试题 回文数字
- 蓝桥杯历届试题 回文数字
- 蓝桥杯 历届试题 回文数字
- 蓝桥杯 历届试题 回文数字
- 历届试题 回文数字
- 历届试题 回文数字
- 历届试题 回文数字
- 【历届试题】回文数字
- 历届试题 回文数字
- 历届试题 回文数字
- 历届试题 回文数字
- 历届试题 回文数字
- 历届试题 回文数字
- 历届试题 回文数字
- 历届试题 回文数字
- 图标地址
- KMP算法详解
- Trafodion LOB大对象
- 大型软件下载网址
- 面试求职:数据库常见面试题(数据库优化思路)
- 蓝桥杯 历届试题 回文数字
- Caffe源码中Pooling Layer文件分析
- Design Pattern(2)-Strategy Pattern
- mybatis中的#和$的区别
- item图片 打开新的activity
- 使用Faster-Rcnn进行目标检测
- Hibernate表关系映射之一对一映射
- 个人作业1——四则运算题目生成
- swift开发中的一些小方法