蓝桥杯,回文数,Python

问题描述

问题描述
  1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。
输出格式
  按从小到大的顺序输出满足条件的四位十进制数。

解法一

for i in range(1000, 10000):
    if str(i) == str(i)[::-1]:
        print(i)

解法二

ans = []
for i in range(10, 100):
    ans.append(str(i) + str(i)[::-1])
for j in sorted(map(int, ans)):
    print(j)

此前在特殊回文数中介绍过以上两种方法,这里我再次记录类似题目主要是因为该题的结果和之前相反,该题采用解法一的运行时间更短,原因在于该题的计算量并不高,解法二虽然能够减少循环次数,但是其运算过程更为复杂,从而隐形地增加了运行时间,所以具体采用哪种解法应该根据题目的计算量来确定。

猜你喜欢

转载自www.cnblogs.com/marvin-wen/p/12275684.html