满足abcd*e=dcba条件的四位数
""" 有一个数学等式:abcd*e=dcba(一个字母代表一位数字,其中a非0,e非0非1)。问:
(1)满足条件的四位数共有多少个?
(2)最小的abcd及与之相对应的e?"""
count = 0
result = []
for a in range(1, 10):
for b in range(10):
for c in range(10):
for d in range(10):
for e in range(2, 10):
if (a * 1000 + b * 100 + c * 10 + d) * e == d * 1000 + c * 100 + b * 10 + a:
count += 1
result.append((a * 1000 + b * 100 + c * 10 + d, e))
result.sort(key=lambda x: x[0])
print("共有{0}个".format(count))
print("最小的abcd:{0},与之对应的e:{1}".format(result[0][0], result[0][1]))
这个程序是照搬网上的解题思路,改进一下会更好。
count = 0
result = []
for i in range(1000, 10000):
for e in range(2, 10):
if i * e == int(str(i)[::-1]):
count += 1
result.append((i, e))
# result.sort(key=lambda x: x[0])
print("共有{0}个".format(count))
print("最小的abcd:{0},与之对应的e:{1}".format(result[0][0], result[0][1]))
D:\Python\study\venv\Scripts\python.exe D:/Python/study/test17.py
满足条件的四位数共有2个
最小的abcd:1089,与之对应的e:9
Process finished with exit code 0