美文网首页
01、回文十进制数

01、回文十进制数

作者: 神奇作手 | 来源:发表于2020-07-23 09:49 被阅读0次

1.描述

如果把某个数的各个数字按相反的 顺序排列,得到的数和原来的数相同,则 这个数就是“回文数”。譬如123454321 就是一个回文数。

2.问题

求用十进制、二进制、八进制表示都是回 文数的所有数字中,大于十进制数 10 的最小的数值。

例)9(十进制数)=1001(二进制数)=11(八进制数)
※ 本例中的十进制数9小于10,因此不符合 要求。

3.思路

  因为是二进制的回文数,所以如果最低位是0,那么相应地最高位 也是 0。但是,以 0 开头肯定是不恰当的,由此可知最低位为 1。 如果用二进制表示时最低位为1,那这个数一定是奇数,因此只考 虑奇数的情况就可以。接下来可以简单地编写程序,从10 的下一个数 字 11 开始,按顺序搜索。

4.java代码

public void test(){
        int num = 11;
        while (true){
            String numStr10 = Integer.toString(num);//10进制
            String numStr10Rev = new StringBuffer(numStr10).reverse().toString();//10进制反转数
            String numStr8 = Integer.toOctalString(num);//8进制
            String numStr8Rev = new StringBuffer(numStr8).reverse().toString();//8进制反转数
            String numStr2 = Integer.toBinaryString(num);//2进制
            String numStr2Rev = new StringBuffer(numStr2).reverse().toString();//2进制反转数
            if ( numStr10.equals(numStr10Rev)&&numStr8.equals(numStr8Rev)&&numStr2.equals(numStr2Rev)
            ){
                System.out.println(num);
                break;
            }
            num+=2;
        }
    }

结果:585
二进制数是:1001001001, 八进制数是:1111

注:各编程语言中进制转换的接口

语言 二进制 八进制 十进制
Java toBinaryString toOctalString toHexString
JavaScript toString(2) toString(8) toString(16)
Python bin oct hex

相关文章

  • 01、回文十进制数

    1.描述 如果把某个数的各个数字按相反的 顺序排列,得到的数和原来的数相同,则 这个数就是“回文数”。譬如1234...

  • Python3 欧拉计划 问题36-40

    36、二进制回文数   十进制数585 的二进制表示为1001001001,可以看出它在这两种进制下都是回文数。 ...

  • 1 - 回文十进制数

    如果把某个数的各个数字按相反的顺序排列, 得到的数和原来的数相同, 则这个数就是回文数. 例如: 12321 就是...

  • 算法入门篇——回文数

    问题 求用十进制、二进制、八进制表示都是回文数的所有数中,大于十进制数 10 的最小值。 (目标时间:10分钟) ...

  • 自学Python:回文数的形成

    什么是回文数? 回文数是指这个数无论从左向右读还是从右向左读都是一样的,如121、11等。 任取一个十进制正整数,...

  • 求用十进制、二进制、八进制表示都是回文数的所有数字中,大于十进制

    原始题目:求用十进制、二进制、八进制表示都是回文数的所有数字中,大于十进制数10的最小值 可以将题目拆分为三个子函...

  • 回文数最优解

    回文数 非回文数 JAVA 解法

  • leecode刷题(31) -- 回文数

    leecode刷题(31) -- 回文数 回文数 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右...

  • lint0491 Palindrome Number

    判断一个正数是不是回文数。 方法一:32bit正整数最大是个10位十进制数,所以new一个10个元素的整形数组,从...

  • Leetcode(9) - 回文数 - java版

    Leetcode(9) - 回文数 - java版 题目 难度: 简单 判断一个整数是否是回文数。回文数是指正序...

网友评论

      本文标题:01、回文十进制数

      本文链接:https://www.haomeiwen.com/subject/ardclktx.html