作业欧几里得算法的问题
偶然遇到问题如下
def gcd(a, b):
while a != 0:
a,b = b%a,a
return b
代码如上,这样公约数返回1
def gcd(a, b):
while a != 0:
a = b % a
b= a
return b
这样写公约数返回0
求解释。
这两个写法不都是变量值互换吗?
这两个写法 是不一样的,第一个写法相当于:
t = a
a = b%a
b = t
是把原来a的值给b,而你第二个写法里面最后是a和b相等的 1471590985 发表于 2020-11-27 11:25
这两个写法 是不一样的,第一个写法相当于:
是把原来a的值给b,而你第二个写法里面最后是a和b相等的
原来如此
页:
[1]