题解 | #最大公约数#
最大公约数
https://www.nowcoder.com/practice/cf4091ca75ca47958182dae85369c82c
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 求出a、b的最大公约数。 # @param a int整型 # @param b int整型 # @return int整型 # class Solution: def gcd(self , a: int, b: int) -> int: # write code here # 解法一:有性能问题 """ if a<b: if b%a==0: return a else: sum=[] for i in range(1,a): if b%i==0 and a%i==0: sum.append(i) return max(sum) elif a>b: if a%b==0: return b else: sum=[] for i in range(1,b): if a%i==0 and b%i==0: sum.append(i) return max(sum) else: return a or b """ # 解法二 if a<b: a,b=b,a # 余数就是最大公约数 while a%b!=0: temp=a%b a=b b=temp return b