尝试编程解决一个关于回文数的问题

在阅读《Python入门经典》时遇到一个回文数的编程问题,要求找到里程表上形成回文的数字。通过编程,作者发现里程数可能是198888,其中最后4位是回文,但在行驶1英里后,最后5位变成回文,再行驶超过3英里,整个6位数是回文。经过排除,确定答案为198888。
摘要由CSDN通过智能技术生成

  最近在看 《Python入门经典:以解决计算问题为导向的python编程实践》这本书,刚学完第二章。习题上有一个关于回文数的问题,我把我的程序写到这里,如果有什么问题请不吝指教。

  题目摘抄如下:

        NPR的广播节目《汽车对话》,总要给出一些难题。有时,这些问题可以用程序解决。试试下面这个:里程表显示的全部行程(从不到10分之1英里到999 999)。上周我在高速公路上开车,注意到,最后4位数字(不是最后5位数字)形成了回文;也就是说,从后向前读与从前向后读是相同的数字(如1221)。又走了1英里后,最后5位数字形成了回文;再过1英里多,中间的4位数字组成一个回文。最后,当超过3英里时,所有6位数字组成了回文。请问,当我第一次注意这些回文时,我的里程数是多少?

  下边是我的程序,用的2.7

# coding=utf-8
for theNum in range(0,1000000):
    Ans=theNum
    # 第一部分,处理后四位回文
    LastFourNumber = theNum % 10000
    if LastFourNumber >= 1000:
        LastFourNumber = str(LastFourNumber)
    elif LastFourNumber >= 100:
        LastFourNumber = '0' + str(LastFourNumber)
    elif LastFourNumber >= 10:
        LastFour
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值