先定义一个private函数 _gcd()求两个正整数的最大公约数,再定义public函数lcm()调用 _gcd()函数求两个正整数的最小公倍数; 调用函数lcm(),并将输入的两个正整数的最小公倍数输出。
时间: 2024-12-17 13:32:43 浏览: 9
VB 求两个正整数的最大公约数
在Python中,为了保护数据不被外部直接访问,我们可以定义一个函数为私有(Private),前加上单下划线`_`作为标识,如 `_gcd`。然后,我们可以在公共部分(Public)定义另一个函数`lcm()`,该函数会调用私有函数`_gcd`来计算两个正整数的最大公约数(Greatest Common Divisor, GCD),接着利用公式`lcm(a, b) = abs(a * b) / gcd(a, b)`来求得这两个数的最小公倍数(Least Common Multiple, LCM)。
下面是一个简单的示例:
```python
def _gcd(a, b): # 私有函数,用于求最大公约数
while b != 0:
a, b = b, a % b
return a
def lcm(a, b): # 公共函数,调用_gcd并计算最小公倍数
return abs(a * b) // _gcd(a, b)
# 调用lcm函数
num1 = 15
num2 = 20
result = lcm(num1, num2)
print(f"最小公倍数是: {result}")
阅读全文