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 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ỳ.