历届试题 回文数字

举报
陈言必行 发表于 2021/08/13 23:43:03 2021/08/13
【摘要】     观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。  本题要求你找到一些5位或6位的十进制数字。满足如下要求:   该数字的各个数位之和等于输入的整数。 输入格式 一个正整数 n (10 输出格式 ...
    观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。
 本题要求你找到一些5位或6位的十进制数字。满足如下要求:
  该数字的各个数位之和等于输入的整数。
输入格式
一个正整数 n (10
输出格式
若干行,每行包含一个满足要求的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

    
  1. import java.util.Scanner;
  2. public class Main {
  3. public static void main(String[] args) {
  4. Scanner input = new Scanner(System.in);
  5. int n = input.nextInt();
  6. int k=0;
  7. for(int i=10000;i<=999999;i )
  8. {
  9. if (ishui(i))
  10. {
  11. if (issum(i)==n){
  12. System.out.println(i);
  13. k=1;
  14. }
  15. }
  16. }
  17. if (k==0)
  18. System.out.println(-1);
  19. }
  20. private static int issum(int num) {
  21. int []a=new int [6];
  22. int i=0;
  23. int sum=0;
  24. while (num!=0)
  25. {
  26. a[i ]=num;
  27. num/=10;
  28. }
  29. for (int j=0;j
  30. sum =a[j];
  31. return sum;
  32. }
  33. private static boolean ishui(int num) {
  34. int []a=new int [6];
  35. int i=0;
  36. while (num!=0)
  37. {
  38. a[i ]=num;
  39. num/=10;
  40. }
  41. for (int j=0;j<=i/2;j )
  42. {
  43. if (a[j]!=a[i-1-j])
  44. return false;
  45. }
  46. return true;
  47. }
  48. }


文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。

原文链接:czhenya.blog.csdn.net/article/details/76197532

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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