Bài tập  /  Bài đang cần trả lời

Giải bài có thưởng!

Lập trình tìm bội số nhỏ nhất, ước số chung max của 2 số tự nhiên a và b

Lập trình tìm bội số nhỏ nhất, ước số chung max của 2 số tự nhiên a và b
0 Xem trả lời
Hỏi chi tiết
56
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Để lập trình tìm bội số chung nhỏ nhất (Least Common Multiple - LCM) và ước số chung lớn nhất (Greatest Common Divisor - GCD) của hai số tự nhiên `a` và `b`, bạn có thể sử dụng ngôn ngữ lập trình Python. Dưới đây là một ví dụ về cách thực hiện điều này:

```python
def gcd(a, b):
while b:
a, b = b, a % b
return a

def lcm(a, b):
return a * b // gcd(a, b)

# Nhập hai số tự nhiên a và b
a = int(input("Nhập số tự nhiên a: "))
b = int(input("Nhập số tự nhiên b: "))

# Tính GCD và LCM
gcd_result = gcd(a, b)
lcm_result = lcm(a, b)

# In kết quả
print(f"Ước số chung lớn nhất của {a} và {b} là: {gcd_result}")
print(f"Bội số chung nhỏ nhất của {a} và {b} là: {lcm_result}")
```

Giải thích:
1. **Hàm `gcd(a, b)`**: Sử dụng thuật toán Euclid để tìm ước số chung lớn nhất (GCD). Thuật toán này hoạt động bằng cách liên tục thay thế `a` bằng `b` và `b` bằng `a % b` cho đến khi `b` bằng 0. Khi đó, `a` sẽ là GCD.
2. **Hàm `lcm(a, b)`**: Tính bội số chung nhỏ nhất (LCM) bằng công thức `LCM(a, b) = (a * b) // GCD(a, b)`.
3. **Nhập số liệu**: Sử dụng hàm `input()` để nhập hai số tự nhiên `a` và `b`.
4. **Tính toán và in kết quả**: Gọi các hàm `gcd` và `lcm` để tính toán GCD và LCM, sau đó in kết quả ra màn hình.

Bạn có thể chạy đoạn mã này trong môi trường Python để tìm GCD và LCM của hai số tự nhiên bất kỳ.

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×