python 循环命名_Python循环题怎么做?

虽然这题目很简单, 穷举的运算量很小, 但是最好还是要动点脑筋, 这样才有乐趣.

二位数 + 三位数 = 四位数

很明显, 这个三位数是9开头的, 又因为是回文数, 那么这个三位数是"9a9", 其中a是未知数.

很明显, 这个四位数的1开头的, 又因为是回文数, 那么这个四位数是"1bb1", 其中b是未知数.

四位数减去三位数, 容易得到这个二位数的个位数是2, 又因为是回文数, 那么这个二位数就是22.

二位数 + 三位数 = 22 + 9a9

用小学竖式加法.

2 2

+ 9 a 9

= 9 (a+3) 1

因为最后结果是一个四位数

那么(a + 3)必须是大于等于10, 又因为a是小于10的数字.

那么(a + 3)在10到12之间, 那么进位的数字是1.

9 + 进位数字1, 得到10

从而得到那个四位数是"1001",

2 2

+ 9 a 9

= 1 0 0 1

从而得到a = 7.

所以, 最后答案是:

22 + 979 = 1001

Python代码:

print("22 + 979 = 1001")

时间复杂度是O(1)

本来是想逻辑推导一下, 缩小搜素范围的, 结果没想到:

根本不需要编程, 直接逻辑推导就能得到答案, 并且答案是唯一的.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值