找到正确的可能性

问题描述 投票:0回答:2

问题是 :

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)
python math
2个回答
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

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。

© www.soinside.com 2019 - 2024. All rights reserved.