python用构造函数的方法求最大公约数和最小公倍数
时间: 2024-01-30 17:02:04 浏览: 65
可以使用类和构造函数来实现求最大公约数和最小公倍数的功能。具体实现如下:
```python
class Math:
def __init__(self, num1, num2):
self.num1 = num1
self.num2 = num2
def gcd(self):
# 求最大公约数
if self.num1 < self.num2:
self.num1, self.num2 = self.num2, self.num1
while self.num2 != 0:
self.num1, self.num2 = self.num2, self.num1 % self.num2
return self.num1
def lcm(self):
# 求最小公倍数
return self.num1 * self.num2 // self.gcd()
# 实例化对象,传入两个数
m = Math(12, 16)
# 求最大公约数和最小公倍数
print(m.gcd()) # 输出为4
print(m.lcm()) # 输出为48
```
在上面的示例中,我们定义了一个`Math`类,并在构造函数中接收两个参数`num1`和`num2`。然后,我们定义了两个方法`gcd`和`lcm`,分别用于计算最大公约数和最小公倍数。
在`gcd`方法中,我们使用辗转相除法来求最大公约数。在`lcm`方法中,我们先调用`gcd`方法求出最大公约数,然后用两数之积除以最大公约数来求最小公倍数。
最后,我们实例化`Math`对象,并调用`gcd`和`lcm`方法来求最大公约数和最小公倍数。
阅读全文