历届试题 回文数字
【摘要】
观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。
本题要求你找到一些5位或6位的十进制数字。满足如下要求:
该数字的各个数位之和等于输入的整数。
输入格式
一个正整数 n (10
输出格式
...
观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。
本题要求你找到一些5位或6位的十进制数字。满足如下要求:
该数字的各个数位之和等于输入的整数。
输入格式
一个正整数 n (10
输出格式
若干行,每行包含一个满足要求的5位或6位整数。
数字按从小到大的顺序排列。
如果没有满足条件的,输出:-1
数字按从小到大的顺序排列。
如果没有满足条件的,输出:-1
样例输入
44
样例输出
99899
499994
589985
598895
679976
688886
697796
769967
778877
787787
796697
859958
868868
877778
886688
895598
949949
958859
967769
976679
985589
994499
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 input = new Scanner(System.in);
-
int n = input.nextInt();
-
int k=0;
-
for(int i=10000;i<=999999;i )
-
{
-
if (ishui(i))
-
{
-
if (issum(i)==n){
-
System.out.println(i);
-
k=1;
-
}
-
}
-
}
-
if (k==0)
-
System.out.println(-1);
-
-
}
-
-
private static int issum(int num) {
-
int []a=new int [6];
-
int i=0;
-
int sum=0;
-
while (num!=0)
-
{
-
a[i ]=num;
-
num/=10;
-
}
-
for (int j=0;j
-
sum =a[j];
-
return sum;
-
}
-
-
private static boolean ishui(int num) {
-
int []a=new int [6];
-
int i=0;
-
while (num!=0)
-
{
-
a[i ]=num;
-
num/=10;
-
}
-
for (int j=0;j<=i/2;j )
-
{
-
if (a[j]!=a[i-1-j])
-
return false;
-
}
-
return true;
-
}
-
}
文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。
原文链接:czhenya.blog.csdn.net/article/details/76197532
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)