你的第二个while True是死循环啊
该回答引用chatgpt:参考这个,有问题随时联系
# 求最大公因数
def gcd(a, b):
while b:
a, b = b, a % b
return a
# 求最小公倍数
def lcm(a, b):
gcd_value = gcd(a, b)
if gcd_value != 1:
return a * b // gcd_value
else:
return a * b
# 测试
print(gcd(30, 45)) # 输出 15
print(lcm(30, 45)) # 输出 90