问题描述
1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。
输出格式
按从小到大的顺序输出满足条件的四位十进制数。
方法1
思路:既然是回文数,那么它的第一位和最后一位肯定相同;第二位和倒数第二位也相同。再加上if语句,就很容易将回文数取出来。
i = 1000
while i<10000:
if i%10 == i//1000 and i//10%10 == i//100%10:
print(i)
i+=1
方法二
思路:通过回文数的规律,这个数倒过来并且和它本身相等的数就是回文数。
i = 1000
while i<10000:
if i == (i%10)*1000+((i//10)%10)*100+((i//100)%10)*10+i//1000:
print(i)
i+=1
方法3
方法3和方法2类似,通过取余和乘10来组成一个新的数字,只不过这个方法严重超时,不推荐使用。
for i in range(1000,10000):
num1 = i
num2 = 0
while i>=0:
num2 = num2+i%10
i = i//10
if num2 == num1:
print(num2)