python代码实践-程序员的算法趣题-Q01

本文通过编程实现寻找大于10的十进制、二进制和八进制表示都为回文数的最小值。利用循环和字符串操作,逐个检查每个数字是否满足回文条件,最终找到符合条件的最小数字并打印。这是一个结合了算法与数字性质的趣味编程问题,适合学习和练习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 问题

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

注:根据程序员的算法趣题进行编写,仅供学习使用。😊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

B or D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值