这是我用来确定“两个数的最大公分母”的程序
integer1 = int(input("Enter an integer:"))
integer2 = int(input("Enter an integer:"))
if integer1 > integer2:
x = integer1
while integer1%x and integer2%x !=0:
x = x - 1
elif integer2 > integer1:
x = integer2
while integer1%x and integer2%x !=0:
x = x - 1
print("the gcd of",integer1,"and",integer2,"is",x)
例如,当我输入值"25“和"50”时,我的程序会说GCD是50,这是不正确的。
发布于 2018-06-07 08:00:26
x = min(integer1, integer2)
while integer1 % x or integer2 % x:
x = x - 1
x
,然后应用不能从最小值开始而不是从最大x
,它应该同时满足integer1 % x == 0
和integer2 % x == 0
,因此while
的停止条件应为D13(并且D14在这里与整数到布尔的转换是多余的,因此您可以跳过它们)H215 H116在常规类型的表达式中的行为方式可能与您可能认为的不同,“正确”的方式是a == 0 and b == 0
.https://stackoverflow.com/questions/50731225
复制相似问题