Ước số chung lớn nhất

Trong toán học, ước số chung lớn nhất (ƯCLN) hay ước chung lớn nhất (ƯCLN) của hai hay nhiều số nguyên là số nguyên dương lớn nhất là ước số chung của các số đó. Ví dụ, ước chung lớn nhất của 6 và 15 là 3 vì formula_1 và formula_2.

Trong tiếng Anh, ước chung lớn nhất gọi là greatest common divisor (GCD), greatest common factor (GCF), highest common factor (HCF), greatest common measure (GCM), hay highest common divisor (HCD). 

Trong trường hợp tất cả số nguyên đều bằng 0 thì chúng không có ƯCLN vì khi đó mọi số tự nhiên khác không đều là ước chung của các số đó. Nếu trong các số đó có ít nhất một số bằng 0 và ít nhất một số khác 0 thì ƯCLN của chúng bằng ƯCLN của các số khác 0.

==Tổng quan ==
=== Ký hiệu ===
Ước chung lớn nhất của "a, a, a... a" được ký hiệu là ƯCLN("a, a, a... a") 

=== Ví dụ ===
Tìm ước chung lớn nhất của 27 và 45?

Ta có:

- Các ước của 27 là formula_3.
- Các ước của 45 là formula_4.

Những số nằm trong cả hai danh sách được gọi là những ước chung của 27 và 45:formula_5Trong đó số lớn nhất là 9. Vậy 9 là ước chung lớn nhất của 27 và 45. Viết UCLN(27,45)=9

===Số nguyên tố cùng nhau===
Các số được gọi là số nguyên tố cùng nhau nếu ước chung lớn nhất của chúng bằng 1. Chẳng hạn, 9 và 28 là hai số nguyên tố cùng nhau.

Ước chung lớn nhất được sử dụng để đưa một phân số về dạng phân số tối giản. Chẳng hạn, ƯCLN(42, 56)=14, do đó,

== Các tính chất ==
- Mọi ước chung của các số là ước của ƯCLN của các só đó.
- Với các số nguyên "a, a, a... a," ƯCLN("a, a, a... a") có thể được định nghĩa tương đương như số nguyên dương "d" nhỏ nhất có dạng "d" = formula_7 trong đó "x" là các số nguyên. Định lý này được gọi là đẳng thức Bézout. Các số "x" có thể tính nhờ Giải thuật Euclid mở rộng.
- ƯCLN("a", 0) =|"a"|, với mọi "a" ≠ 0, vì mọi số khác 0 bất kỳ là ước của 0, và ước lớn nhất của "a" là|"a"|. Đây là trường hợp cơ sở trong thuật toán Euclid.
- Nếu "a" là ước của tích "b"·"c", và ƯCLN("a", "b") = "d", thì "a"/"d" là ước của "c".
- Nếu "m" là số nguyên dương, thì ƯCLN("ma", "ma", "ma...ma") = "m" · ƯCLN("a, a, a... a").
- Nếu "m" là số nguyên bất kỳ, thì ƯCLN("a" + "m" · "b", "b") = ƯCLN("a", "b"). Nếu "m" ước chung (khác 0) của "a" và "b", thì UCLN("a/m", "b/m") = ƯCLN("a", "b")"/m".
- ƯCLN là một hàm có tính nhân theo nghĩa sau: nếu các số "a", "a"...,a là các số nguyên tố cùng nhau, thì ƯCLN("a" · "a" · ... · a, "b") = ƯCLN("a", "b") · ƯCLN ("a", "b") · ... · ƯCLN ("a", "b").
- ƯCLN là hàm giao hoán: ƯCLN("a", "b") = ƯCLN("b", "a").
- ƯCLN là hàm kết hợp: ƯCLN(a,b,c)= ƯCLN("a", ƯCLN("b", "c")) = ƯCLN(ƯCLN("a", "b"), "c").
- ƯCLN("a", "b") quan hệ chặt chẽ với BCNN("a", "b"): ta có

- Nếu sử dụng định nghĩa ƯCLN(0, 0) = 0 và BCNN(0, 0) = 0 thì khi đó tập các số tự nhiên trở thành một dàn đầy đủ phân phối với ƯCLN.
- Trong Hệ tọa độ Descartes, ƯCLN("a", "b") biểu diễn số các điểm với tọa độ nguyên trên đoạn thẳng nối các điểm (0, 0) và ("a", "b"), trừ chính điểm (0, 0).

== Tính toán ==
=== Tìm ước chung lớn nhất bằng cách phân tích ra thừa số nguyên tố ===
Định lý cơ bản của số học nói rằng mọi số nguyên dương lớn hơn 1 có thể biểu diễn một cách duy nhất dạng tích các số nguyên tố (nếu không kể đến thứ tự của các thừa số). Như vậy các hợp số có thể coi như là các nguyên tố cấu thành hợp số. Ví dụ:

Ở đây chúng ta có hợp số 90 tạo thành bởi một nguyên tử 2, hai nguyên tử 3 và một nguyên tử 5.

Kiến thức này có thể giúp chúng ta tìm ƯCLN của một tập hợp các số.

Ví dụ: Tìm giá trị của ƯCLN(12, 32, 60).

Đầu tiên, ta phân tích từng số thành dạng tích lũy thừa các số nguyên tố.

Với mỗi thừa số nguyên tố có chung trong tất cả các số, nâng lũy thừa bậc thấp nhất, tích của chúng cho ta giá trị ƯCLN cần tìm. Thừa số 2 có ở cả ba số, có bậc thấp nhất là 2. Do đó:

Trên thực tế phương pháp này chỉ dùng cho các số nhỏ. Việc phân tích các số lớn ra thừa số nguyên tố mất rất nhiều thời gian.

Để tìm ƯCLN của 2 số tự nhiên thì phương pháp hiệu quả là giải thuật Euclid dựa trên dãy liên tiếp các phép chia có dư.

=== Tính qua bội số chung nhỏ nhất ===
Nếu "a" và "b" là các số khác không, thì ước chung lớn nhất của "a" và "b" có thể tính qua bội chung nhỏ nhất (BCNN) của "a" và "b":
formula_13

== Đọc thêm ==
- Donald Knuth. "The Art of Computer Programming", Volume 2: "Seminumerical Algorithms", Third Edition. Addison-Wesley, 1997. ISBN 0-201-89684-2. Section 4.5.2: The Greatest Common Divisor, pp. 333–356.
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. "Introduction to Algorithms", Second Edition. MIT Press and McGraw-Hill, 2001. ISBN 0-262-03293-7. Section 31.2: Greatest common divisor, pp. 856–862.
- Saunders MacLane và Garrett Birkhoff. "A Survey of Modern Algebra", Fourth Edition. MacMillan Publishing Co., 1977. ISBN 0-02-310070-2. 1-7: "The Euclidean Algorithm."

==Liên kết ngoài==
- GCD Implementation in C++
- greatest common divisor tại Everything2.com
- Greatest Common Measure: The Last 2500 Years, by Alexander Stepanov