前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >特殊回文数-Java

特殊回文数-Java

作者头像
码农笔录
发布2018-06-29 17:46:34
6690
发布2018-06-29 17:46:34
举报
文章被收录于专栏:码农笔录

特殊回文数

问题描述

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

输入格式

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

输出格式

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

样例输入

52

样例输出

899998989989998899

数据规模和约定

  1<=n<=54。

代码语言:javascript
复制
package cn.slxy.suanfa;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class HuiWenShu {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int num = in.nextInt();
        List<Integer> list = new ArrayList<Integer>();
        for (int i = 10000; i < 999999; i++) {
            if (isHuiWen(i)) {
                int sum = sum(i);
                if (num == sum) {
                    list.add(i);
                }
            }
        }
        for (Integer integer : list) {
            System.out.println(integer);
        }
    }
    private static boolean isHuiWen(int i) {
        String valueOf = String.valueOf(i);
        char[] array = valueOf.toCharArray();
        int num = array.length / 2;
        for (int j = 0; j < num; j++) {
            if (array[j] == (array[array.length - j - 1]))
                continue;
            else
                return false;
        }
        return true;
    }
    private static int sum(int i) {
        int sum = 0;
        int h1 = i;
        int h2 = i / 10;
        int h3 = i / 100;
        if (i >= 100000) {
            sum = (h1 + h2 + h3) * 2;
        } else {
            sum = (h1 + h2) * 2 + h3;
        }
        return sum;
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年06月29日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 特殊回文数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档