python暴力破解小学奥赛习题

一道小学奥赛题如下:
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]
发布了181 篇原创文章 · 获赞 12 · 访问量 7124

猜你喜欢

转载自blog.csdn.net/weixin_41855010/article/details/104546438