问题描述:编写一个Python程序,使用递归计算两个数的最大公约数和最小公倍数。
程序代码:
# 最大公约数
def gcd(a, b):
if a > b:
if a % b == 0:
return b
else:
return gcd(b, a%b)
else:
if b % a == 0:
return a
else:
return gcd(a, b%a)
# 最小公倍数
def lcm(a,b,gcd):
return int(a*b/gcd)
a = int(input("请输入数字a:"))
b = int(input("请输入数字b:"))
print(str(a)+'和'+str(b)+'的最大公约数为:',gcd(a,b))
print(str(a)+'和'+str(b)+'的最小公倍数为:',lcm(a,b,gcd(a,b)))
程序分析: