美文网首页
算法入门篇——回文数

算法入门篇——回文数

作者: 秦枫桀 | 来源:发表于2017-08-31 13:52 被阅读0次

问题

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

(目标时间:10分钟)

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

分析

由于该数的二进制表示,最高位不可能是0,只能为1,所以最低位也应该为1,所以,这个数是个奇数。从11开始寻找奇数滤出符合条件的即可。

实现

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
swift3版:

var x = 11
while true {
    if  String(x) == String(Array(String(x).characters).reversed()) &&
        String(x, radix:8) == String(Array(String(x, radix:8).characters).reversed()) &&
        String(x, radix:2) == String(Array(String(x, radix:2).characters).reversed()) {
        print(x)    // result: 585
        break
    }
    x += 2
}

swift4版:

var x = 11
while true {
    if  String(x) == String(x).reversed() &&
        String(x, radix:8) == String(x, radix:8).reversed() &&
        String(x, radix:2) == String(x, radix:2).reversed() {
        print(x)    // result: 585
        break
    }
    x += 2
}
如果有更好的实现,请在下面留言,谢谢!

相关文章

  • 算法入门篇——回文数

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

  • 回文数算法

    最近笔者去面试,面试到最后,面试官突然来一句,接下来说一下算法吧,这一句一出,我已经有点“凉凉”的感觉了,毕竟我没...

  • 5、Palindrome Number

    回文数:123321、12321算法:逐位求余,计算其和。与源数比较,相等即是。code:

  • 判断回文数算法

    回文数是指正序(从左到右)读和倒序(从右到左)读都是一样的整数。 比如形如 121,1221,13531 的数字都...

  • 45.判断是否是回文字符串

    day1:js基础->算法。回文数[https://leetcode-cn.com/problems/palind...

  • 回文数最优解

    回文数 非回文数 JAVA 解法

  • algorithm-pattern

    参考自algorithm-pattern翻译为java代码 入门篇 算法快速入门 数据结构与算法 数据结构是一种数...

  • Java实现每日一道算法面试题(12):leecode9 回文数

    1.算法题目 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1:...

  • 算法分析---回文数判断

    转载地址 有这样一类数字,他们顺着看和倒着看是相同的数,例如:1111,1221,2332等,这样的数字就称为:回...

  • 面试算法:回文数

    判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

网友评论

      本文标题:算法入门篇——回文数

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