一道小学奥赛题如下:
XYZ×693 = ZYX*396
我们可以使用python语言来进行枚举法暴力破解,注意这里我们将使用product函数,这个方法可以把原本需要3层循环才能实现的遍历压缩到一个for循环之内。
from itertools import product
for x,y,z in product(range(1,10),range(10),range(10)):
a = 100*x+10*y+z
b = 100*z+10*y+x
if a*693 == b*396:
print(a,b)
运行结果如下:
132 231
264 462
396 693
[Finished in 2.2s]