Kết nối qua MCP →

Nhập phép tính

Công thức

Show calculation steps (1)
  1. LCM (from GCD)

    LCM (from GCD): Máy Tính Thuật Toán Euclid (UCLN)

    LCM is derived as the product of a and b divided by their GCD.

Quảng cáo

Kết quả

Ước chung lớn nhất
12
gcd(48, 36)
UCLN 12
BCNN 144

Thuật toán Euclid là gì?

Thuật toán Euclid là một trong những thuật toán cổ xưa nhất từng được biết đến, do nhà toán học Hy Lạp Euclid mô tả vào khoảng năm 300 trước Công nguyên. Nó dùng để tìm ước chung lớn nhất (UCLN) của hai số nguyên — tức là số lớn nhất chia hết cho cả hai số mà không để lại số dư. Công cụ này áp dụng thuật toán cho bất kỳ cặp số nguyên không âm nào, đồng thời cho ra cả bội chung nhỏ nhất (BCNN) của chúng.

Cách sử dụng

Nhập hai số của bạn vào hai ô có nhãn ab rồi bấm tính. Công cụ sẽ hiển thị UCLN là kết quả chính và BCNN là giá trị phụ. Thứ tự nhập không quan trọng — \(\gcd(48, 36)\) bằng đúng \(\gcd(36, 48)\). Nếu nhập số âm, máy tính sẽ lấy giá trị tuyệt đối; còn nếu một trong hai số bằng 0 thì UCLN chính là số còn lại.

Giải thích công thức

Thuật toán dựa trên một nhận xét đơn giản: bất kỳ ước chung nào của ab cũng đồng thời là ước của số dư a mod b. Vì vậy, ta liên tục thay số lớn hơn bằng số dư:

$$\gcd(a,b) = \gcd(b,\, a \bmod b), \quad \gcd(a,0) = a$$

với trường hợp cơ sở \(\gcd(a, 0) = a\).

Mỗi bước đều làm các số nhỏ đi rất nhanh, nên ngay cả những giá trị khổng lồ cũng chỉ cần vài vòng lặp là ra kết quả. Sau đó BCNN được tính theo công thức $$\operatorname{lcm}(a,b) = \frac{a \times b}{\gcd(a,b)}$$

Chuỗi các bước chia rút gọn hai số về ước chung lớn nhất của chúng
Mỗi bước thay (a, b) bằng (b, a mod b) cho đến khi số dư bằng không.

Ví dụ minh họa

Tìm \(\gcd(48, 36)\):

$$48 \bmod 36 = 12 \rightarrow \gcd(36, 12)$$
$$36 \bmod 12 = 0 \rightarrow \gcd(12, 0) = 12$$

Vậy UCLN là 12, và $$\operatorname{lcm} = \frac{48 \times 36}{12} = \frac{1728}{12} = 144$$

Hình chữ nhật chia thành các hình vuông minh họa ƯCLN là ô vuông lát lớn nhất
Về mặt hình học, ƯCLN là cạnh của hình vuông lớn nhất lát kín hình chữ nhật a nhân b.

Câu hỏi thường gặp

Nếu cả hai số đều bằng 0 thì sao? Ở đây UCLN của 0 và 0 được quy ước là 0, và BCNN cũng bằng 0 vì không tồn tại bội số dương nào.

Vì sao thuật toán này nhanh hơn cách liệt kê ước số? Thay vì phải tìm hết tất cả các ước, thuật toán sử dụng mẹo lấy số dư, giúp thu nhỏ bài toán đáng kể sau mỗi bước — thường chỉ mất thời gian theo hàm logarit.

Có xử lý được các số rất lớn không? Có. Thuật toán Euclid rất hiệu quả ngay cả với những số có nhiều chữ số, chỉ cần một số ít phép chia lấy dư là xong.

Cập nhật lần cuối: