请编写程序,输入两个整数,计算并输出它们的输出最小公倍数。 输入格式 两个整数 输出格式 最小公倍数(正整数) 说明:两个整数可以是正数、零和负数。最小公倍数必须是自然数。题目保证两个整数及其最小公倍数的绝对值都小于 2 63 。 输入样例1 935761 -5128800173759 输出样例1 4799331179396895599 输入样例2 -4187757414530339 587895547746 输出样例2 929682146025735258 输入样例3 7 0 输出样例3 0 输入样例4 0 0 输出样例4 0
时间: 2024-01-05 19:14:37 浏览: 98
以下是 Python3 代码实现:
```python
a, b = map(int, input().split())
def gcd(a, b):
if a == 0:
return b
return gcd(b % a, a)
if a == 0 or b == 0:
print(0)
else:
lcm = abs(a * b) // gcd(a, b)
print(lcm)
```
解释一下代码:
首先读入两个整数 a 和 b。
然后定义一个求最大公约数的函数 gcd(a, b)。
如果 a = 0,那么最大公约数就是 b。
否则,递归地求解 b % a 和 a 的最大公约数。
接下来,如果 a 或 b 有一个是零,那么最小公倍数就是零,直接输出 0。
否则,根据最小公倍数的定义,它等于 a 和 b 的乘积除以它们的最大公约数的绝对值。
最后输出最小公倍数 lcm。
阅读全文