寻找正确的可能性

时间:2019-03-30 06:32:30

标签: python math

问题是:

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)

2 个答案:

答案 0 :(得分:1)

这是您可以使用的代码。不需要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

答案 1 :(得分:0)

在您的代码中,我看不到您在哪里使用z =(89x-y)/ 10关系,因此我们不应该期望您的代码能够找到解决方案。另外,要检查是否相等,请使用==而不是=。

除了使用另一个解决方案中所示的两个for循环外,如果我们想使用数学来解决问题,请注意,我们有

89x-y = 10z

89x = 10z + y

由于我们要求解一个取值范围为1到9的单位解决方案,因此右手边小于100,因此x必须为1。z代表十位值,y必须为十进制值。一个地方的价值。

因此x = 1,y = 9,z = 8。