您当前的位置: 首页 >  Java

星拱北辰

暂无认证

  • 0浏览

    0关注

    1205博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

N进制正反累加判回文数(洛谷P1015题题解,Java语言描述)

星拱北辰 发布时间:2020-01-20 23:46:54 ,浏览量:0

题目要求

P1015题目链接

在这里插入图片描述

分析

开始的时候写了这么一个代码,应该是比较基础的,是十进制的。

    private static void low() {
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        String str = Integer.toString(num);
        int i;
        for (i = 0 ; i = 0; i--) {
            //实际上是int
            int temp = charMap.get(chars1[i]) + charMap.get(chars2[i]) + result[i+1];
            if (temp >= 16) {
                //本位溢出,进位
                result[i+1] = intMap.get(temp-16);
                result[i]++;
            } else {
                result[i+1] = intMap.get(temp);
            }
        }
        //最终溢出
        if (result[0] == 0) {
            return new String(result).substring(1);
        }
        result[0] += 48;
        return new String(result);
    }

    /**
     * 2-10进制的加法
     * @param num1 加数1
     * @param num2 加数2(位数与加数1相同)
     * @param format 两个数所属进制
     * @return N进制和(2 = 96 + format) {
                //本位溢出,进位
                result[i+1] = (char)(temp - format - 48);
                result[i]++;
            } else {
                result[i+1] = (char)(temp - 48);
            }
        }
        //最终溢出
        if (result[0] == 0) {
            return new String(result).substring(1);
        }
        result[0] += 48;
        return new String(result);
    }

    /**
     * 判断是否为回文数
     * @param num 待判数值
     * @return 是否为回文数
     */
    private static boolean isPalindrome(String num) {
        if (num.equals(reverse(num))) {
            return true;
        } else {
            return false;
        }
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        //进制(2-10、16)
        int format = Integer.parseInt(scanner.nextLine());
        String num = scanner.nextLine();
        int counter = 0;
        if (format == 16) {
            while (!isPalindrome(num) && counter             
关注
打赏
1660750074
查看更多评论
0.0448s