本题的关键是能注意到不存在九位的可逆数。若$n=a_9\ldots a_1$是一九位可逆数,则n与r(n)的各位数字之和分别是
$$a_9+a_1, \; a_8+a_2, \;a_7+a_3, \;a_6+a_4, \;a_5+a_5, \;a_4+a_6, \;a_3+a_7, \;a_2+a_8, \;a_1+a_9.$$
显然$a_5+a_5$是偶数,因此有$a_4+a_6>10$且为奇数,从而$a_7+a_3=a_3+a_7$是偶数,进而有$a_2+a_8=a_8+a_2>10$且为奇数,从而首位$a_9+a_1$需要是偶数,不过$a_9+a_1$又等于末位的$a_1+a_9$,而$a_1+a_9$应是奇数,故矛盾。
此外,还应注意到可拟数的首位和末位的奇偶性必然不同,而n是可逆数等价于r(n)是可逆数,因此只需考虑奇数即可。
暴力搜索即得结果$608720$。
print 2*sum(all(i in "13579" for i in str(n+int(str(n)[::-1]))) for n in range(11,100000000,2))
|