利用欧几里得算法(辗转相除法)编写一个函数gcd(x,y) 求最大公约数,编写一个函数lcm(x,y)求最小公倍数
时间: 2023-04-24 17:02:38 浏览: 153
辗转相除法,求最大公约数和最小公倍数
5星 · 资源好评率100%
欧几里得算法(辗转相除法)是求最大公约数的经典算法,可以用以下代码实现:
def gcd(x, y):
if y == :
return x
else:
return gcd(y, x % y)
其中,x和y是要求最大公约数的两个数,如果y等于,则x就是最大公约数,否则递归调用gcd函数,将y和x%y作为参数传入。
求最小公倍数可以通过最大公约数来实现,即两个数的积除以它们的最大公约数,可以用以下代码实现:
def lcm(x, y):
return x * y // gcd(x, y)
其中,//是整除运算符,返回两个数相除的整数部分。
阅读全文