Vận dụngCâu 1.Viết hàm có hai tham số đầu vào là m, n. Đầu ra trả lại hai giá trị là:ƯCLN của...

Câu hỏi:

Vận dụng

Câu 1. Viết hàm có hai tham số đầu vào là m, n. Đầu ra trả lại hai giá trị là:

  • ƯCLN của m, n,
  • Bội chung nhỏ nhất (BCNN) của m, n.
Câu trả lời:
Người trả lời: GV. Đỗ Thị Ánh
Cách 1:
Để giải bài toán trên, ta cần tìm Ước chung lớn nhất (ƯCLN) và Bội chung nhỏ nhất (BCNN) của hai số m và n.

Bước 1: Viết hàm để tính ƯCLN của hai số:
```python
def UCLN(m, n):
while n != 0:
m, n = n, m % n
return m
```

Bước 2: Viết hàm để tính BCNN của hai số:
```python
def BCNN(m, n):
return (m * n) // UCLN(m, n)
```

Bước 3: Gọi hàm trên để tính ƯCLN và BCNN của hai số m và n:
```python
m = 12
n = 18

ucln = UCLN(m, n)
bcnn = BCNN(m, n)

print(f"ƯCLN của {m} và {n} là: {ucln}")
print(f"Bội chung nhỏ nhất của {m} và {n} là: {bcnn}")
```

Kết quả:
ƯCLN của 12 và 18 là: 6
Bội chung nhỏ nhất của 12 và 18 là: 36

Cách 2:
Cách giải này sử dụng thư viện math của Python để tính ƯCLN của m và n, sau đó dễ dàng tính BCNN bằng cách sử dụng công thức BCNN = (m * n) / ƯCLN(m, n).

```python
import math

def ucln(m, n):
return math.gcd(m, n)

m = 12
n = 18

bcnn = (m * n) // ucln(m, n)

print(f"ƯCLN của {m} và {n} là: {ucln(m, n)}")
print(f"Bội chung nhỏ nhất của {m} và {n} là: {bcnn}")
```

Kết quả:
ƯCLN của 12 và 18 là: 6
Bội chung nhỏ nhất của 12 và 18 là: 36

Câu trả lời cho câu hỏi trên:
Với hai cách giải trên, ta có thể viết hàm để tính ƯCLN và BCNN của hai số m và n. Cách 1 sử dụng phương pháp Euclid để tính ƯCLN, còn cách 2 sử dụng thư viện math của Python. Cả hai cách đều cho kết quả chính xác và đáp ứng yêu cầu của bài toán.
Bình luận (4)

Trâm Lê Quỳnh

Sử dụng công thức BCNN = m * n / ƯCLN(m, n) để tính BCNN của m, n.

Trả lời.

Sỹ Nguyễn

Để viết hàm tính BCNN của m, n:

Trả lời.

Huy phùng

Sử dụng thuật toán Euclid để tìm ƯCLN của m, n.

Trả lời.

Hường Phan

Để viết hàm tính ƯCLN của m, n:

Trả lời.
Nhấn vào đây để đánh giá
Thông tin người gửi
0.20339 sec| 2177.742 kb