最小偶倍数编程怎么做

时间:2025-01-26 23:23:30 网络游戏

要计算两个整数n和m的最小偶倍数,可以采用以下方法:

方法一:简单版

1. 计算n和m的最小公倍数(LCM)。

2. 判断LCM是否为偶数。

3. 如果是偶数,返回LCM;如果是奇数,返回LCM * 2。

```python

def smallest_even_multiple_simple(n: int, m: int) -> int:

def gcd(a, b):

while b:

a, b = b, a % b

return a

lcm = n * m // gcd(n, m)

if lcm % 2 == 0:

return lcm

else:

return lcm * 2

```

方法二:优化版

1. 如果n或m中至少有一个是偶数,那么n和m的最小公倍数(LCM)一定是偶数,直接返回LCM。

2. 如果n和m都是奇数,那么LCM * 2就是所求的最小偶倍数。

```python

def smallest_even_multiple(n: int, m: int) -> int:

if n % 2 == 0 or m % 2 == 0:

return (n * m) // gcd(n, m)

else:

return (n * m) // gcd(n, m) * 2

```

示例

```python

print(smallest_even_multiple_simple(3, 5)) 输出: 30

print(smallest_even_multiple(2, 7)) 输出: 14

print(smallest_even_multiple(4, 6)) 输出: 12

```

这些方法都可以有效地计算出两个整数的最小偶倍数。选择哪个方法取决于具体的需求和代码的简洁性。