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

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm

Trong toán học, nếu số nguyên a chia hết cho số nguyên d thì số d được gọi là ước của số nguyên a, a được gọi là bội của d. Số nguyên dương d lớn nhất là ước của cả hai số nguyên a, b được gọi là ứơc chung lớn nhất (ƯCLN) của ab. Trong trường hợp cả hai số nguyên ab đề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 ab. Nếu chỉ một trong hai số a hoặc b bằng 0, số kia khác không thì ƯCLN của chúng bằng giá trị tuyệt đối của số khác không.

Ký hiệu và ví dụ[sửa | sửa mã nguồn]

Ước chung lớn nhất của ab được ký hiệu là ƯCLN(ab), hay đơn giản hơn là (ab). Chẳng hạn, ƯCLN(12, 18) = 6, ƯCLN(−4, 14) = 2 & ƯCLN(5, 0) = 5. Hai số được gọi là 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à 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 đó,

{42 \over 56}={3 \cdot 14 \over 4 \cdot 14}={3 \over 4}.

Các tính chất[sửa | sửa mã nguồn]

  • Mọi ước chung của ab là ước của ƯCLN(ab).

Bước 0 29 8 5 3 1 0 1 0 1 -3 1 8 5 3 1 0 1 -1 1 -3 4 2 5 3 2 1 1 -1 2 -3 4 -7 3 3 2 1 1 -1 2 -3 4 -7 11 4 2 1 0 2

  • ƯCLN(ab), khi ab không bằng không cả hai, có thể được định nghĩa tương đương như số nguyên dương d nhỏ nhất có dạng d = a·p + b·q trong đó pq là các số nguyên. Định lý bày đựoc gọi là đẳng thức Bézout. Các số pq 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 không 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(ab) = d, thì a/d là ước của c.
  • Nếu m là số nguyên dương, thì ƯCLN(m·am·b) = m·ƯCLN(ab).
  • Nếu m là số nguyên bất kỳ, thì ƯCLN(a + m·bb) = ƯCLN(ab). Nếu m ước chung (khác 0) của ab, thì UCLN(a/mb/m) = ƯCLN(ab)/m.
  • ƯCLN là một hàm có tính nhân theo nghĩa sau: nếu a1a2 là nguyên tố cùng nhau, thì ƯCLN(a1·a2b) = ƯCLN(a1b)·ƯCLN (a2b).
  • ƯCLN là hàm giao hoán: ƯCLN(a, b) = ƯCLN(b, a).
  • ƯCLN là hàm kết hợp: ƯCLN(a, ƯCLN(b, c)) = ƯCLN(ƯCLN(a, b), c).
  • ƯCLN của ba số được tính nhờ công thức ƯCLN(abc) = ƯCLN(ƯCLN(ab), c), (hoặc vế kia của tính chất kết hợp. Điều này có thể mở rộng cho số bất kỳ các số nguyên.
  • ƯCLN (ab) quan hệ chặt chẽ với BCNN(ab): ta có
ƯCLN(ab)·BCNN(ab) = a·b.
Công thức này thường được dùng để tính BCNN. Dạng khác của mối quan hệ này là tính chất phân phối:

(ab), ƯCLN(ac))

BCNN(a, ƯCLN(bc)) = ƯCLN(BCNN(ab), BCNN(ac)).
  • 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(ab) 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à (ab), trừ chính điểm (0, 0).

Tính ước chung lớn nhất[sửa | sửa mã nguồn]

ƯCLN của hai số có thể tìm được bằng việc phân tích hai số đó ra thừa số nguyên tố, chẳng hạn để tìm ƯCLN(18,84), ta phân tích 18 = 2·32 và 84 = 22·3·7 và nhận xét rằng các thừa số chung lớn nhất của hai số này là 2·3; do đó ƯCLN(18,84) = 6. 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.

Một 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ư.

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

 UCLN(a,b) = \frac{a\cdot b}{BCNN(a,b)}

  • Cách tìm ƯCLN trong lập trình C#:
static int USCLN(int a, int b)
        {            
            a=Math.Abs(a); 
            b=Math.Abs(b);            
            if (a==0 ||b==0)
                return a+b;
            while (a !=b)
            {
                if(a>b)
                    a=a-b;
                else
                    b=b-a;
            }
            return a;
        }

Tham khảo[sửa | sửa mã nguồn]

Liên kết ngoài[sửa | sửa mã nguồn]