问题是 :
Z=(89x-y) /10
X,Y和Z有504种可能的组合,但只有一种是正确的
这是我写的代码:
for x in range (1,10):
for y in range (1,10):
for z in range (1,10):
if x=y or x=z or y=z :
break
print (x, y, z)
这是您可以使用的代码。不需要3个循环;因为一个变量依赖于其他两个变量。
>>> for i in range(1,10):
... for j in range(1,10):
... v = (89*i - j)/10
... if v == int(v) and 1<= v<= 9: print(i,j,int(v))
...
1 9 8
在你的代码中,我没有看到你在哪里使用关系z =(89x-y)/ 10,因此我们不应该期望你的代码能够找到解决方案。另外,要检查是否相等,请使用==而不是=。
除了使用其他解决方案中显示的两个for循环外,如果我们想使用数学来解决它,请注意我们有
89x - y = 10z
89x = 10z + y
由于我们要求解决从1到9取值的单位数解决方案,因此右侧小于100,因此x必须为1. z负责十位值,y必须是一位值。
因此,x = 1,y = 9,z = 8。