一 问题
Q01 求用十进制、二进制、八进制表示都是回文数的所有数字中,大于十进制数 10 的最小值。
二 答案
题解:
针对本问题,采用暴力求解,不断循环,直到找出满足要求的答案。
代码:
num = 11
while True:
bnum = bin(num)[2:] # 转换为2进制,bnum是字符串 0b
onum = oct(num)[2:] # 转换为8进制,onum是字符串 0x
numstr = str(num) # 将十进制准换为字符串
num1 = numstr[::-1] # 字符串反向切片
bnum1 = bnum[::-1] # 字符串反向切片
onum1 = onum[::-1] # 字符串反向切片
if (num1 == numstr) and (bnum1 == bnum) and (onum1 == onum):
print(num)
break
num += 1
注:根据程序员的算法趣题进行编写,仅供学习使用。😊