《程序员的算法趣题》-(日)增井敏克 , 书中为69 道数学谜题编写了解题程序, 编程语言为:Ruby,JavaScript,C语言。有兴趣的同学,可以购书阅读~
在此更新个人编写的Python版,仅供学习使用。(运行环境:Python3.6)
Q01 回文十进制数
求用十进制、二进制、八进制表示都是回文数的所有数字中,大于十进制数 10 的最小值。
num = 11
while True:
str10 = "{0}".format(num)
str8 = "{0:o}".format(num)
str2 = "{0:b}".format(num)
if str10 == str10[::-1] and str8 == str8[::-1] and str2 == str2[::-1]:
print("十进制 {0}\n八进制 {1}\n二进制 {2}\n".format(str10, str8, str2))
break
# 二进制回文,一定以1结尾,所以只搜索奇数,每次加 2
num += 2
运行结果:
十进制 585
八进制 1111
二进制 1001001001