Ước chung lớn nhất và bội chung nhỏ nhất của các số nguyên, tính hiệu quả bằng thuật toán Euclid.
Trực giácMảnh chung lớn nhất và chu kỳ gặp nhau sớm nhất
Giả sử bạn có hai dải ruy băng dài 48 cm và 18 cm và muốn cắt cả hai thành các đoạn bằng nhau có độ dài nguyên lớn nhất có thể mà không thừa: độ dài lớn nhất đó là gcd(48,18)=6 cm, tức ước chung lớn nhất. Ngược lại, nếu một đèn hiệu nháy mỗi 48 giây và đèn kia mỗi 18 giây, thời điểm dương đầu tiên chúng cùng nháy trở lại là lcm(48,18)=144 giây, tức bội chung nhỏ nhất.
Hình chữ nhật 15×10 được lát bằng hình vuông 10×10 rồi hai hình vuông 5×5: thuật toán Euclid hình học.
Thuật toán Euclid hình học cho họ hình chữ nhật (n+5)×n: với n=10, hình 15×10 được lát bằng một hình vuông 10×10 và hai hình vuông 5×5, nên cạnh cuối là gcd(15,10)=5.
Phổ thôngĐịnh nghĩa, thuật toán Euclid và đẳng thức tích
Định nghĩa: Ước chung lớn nhất và bội chung nhỏ nhất
Với các số nguyên dương a,b, ước chung lớn nhấtgcd(a,b) là số nguyên dương lớn nhất d thỏa d∣a và d∣b (khi gcd(a,b)=1, ta nói a và bnguyên tố cùng nhau). Bội chung nhỏ nhấtlcm(a,b) là số nguyên dương nhỏ nhất m thỏa a∣m và b∣m.
gcd(a,b)=gcd(b,r)(a=bq+r,0≤r<b)
Đây là bước cốt lõi của thuật toán Euclid: chia a cho b để được a=bq+r,0≤r<b bảo toàn ước chung lớn nhất qua gcd(a,b)=gcd(b,r). Lặp lại cho đến khi số dư bằng 0 sẽ tìm được gcd(a,b) mà không cần phân tích a hay b ra thừa số nguyên tố.
gcd(a,b)⋅lcm(a,b)=ab(a,b>0)
Khi đã biết gcd(a,b), ta tính được ngay lcm(a,b) từ đẳng thức tíchgcd(a,b)⋅lcm(a,b)=ab: lấy tích ab chia cho gcd(a,b).
Ví dụ về ƯCLN, BCNN và đẳng thức tích
Cặp (a,b)
gcd(a,b)
lcm(a,b)
Kiểm tra tích
(8,12)
4
24
4×24=8×12=96
(9,16)
1
144
1×144=9×16=144
(15,25)
5
75
5×75=15×25=375
(48,18)
6
144
6×144=48×18=864
Đại họcVì sao thuật toán Euclid và công thức tích đúng
Với các số nguyên a≥b>0 thỏa a=bq+r,0≤r<b, tập các ước chung của a và b bằng tập các ước chung của b và r; do đó gcd(a,b)=gcd(b,r), và việc lặp lại bước chia có dư dừng sau hữu hạn bước với số dư khác không cuối cùng đúng bằng gcd(a,b).
Vì sao đúng?
Trừ đi một bội của b khỏi a không thể tạo thêm hay làm mất ước chung với b: bất kỳ số nào chia hết cả a và b cũng phải chia hết phần dư r=a−bq, và ngược lại.
Chứng minh
Bước 1 (Cùng tập ước chung). Giả sử d là số nguyên chia hết cả a và b, tức a=dx và b=dy với x,y nguyên. Khi đó r=a−bq=dx−dyq=d(x−yq), nên d∣r, nghĩa là d chia hết cả b và r. Ngược lại, nếu d chia hết cả b và r, giả sử b=dy và r=dz, thì a=bq+r=dyq+dz=d(yq+z), nên d∣a, nghĩa là d chia hết cả a và b.
Bước 2 (Hai ước chung lớn nhất bằng nhau). Vì hai cặp (a,b) và (b,r) có cùng tập hợp các ước chung, phần tử lớn nhất của chúng phải bằng nhau: gcd(a,b)=gcd(b,r).
Bước 3 (Dừng sau hữu hạn bước). Mỗi bước chia tạo ra số dư thỏa 0≤r<b, nên dãy các số thứ hai b>r1>r2>⋯≥0 là dãy số nguyên không âm giảm ngặt. Dãy như vậy có nhiều nhất b bước trước khi chạm 0; tại bước gcd(rk−1,rk)=gcd(rk,0)=rk, số dư khác không cuối cùng rk chính là gcd(a,b).
Với hai số nguyên dương a và b bất kỳ, gcd(a,b)⋅lcm(a,b)=ab.
Vì sao đúng?
Với mỗi ước nguyên tố p, gcd(a,b) lấy số mũ nhỏ hơn của p trong a,b còn lcm(a,b) lấy số mũ lớn hơn; cộng số nhỏ hơn và số lớn hơn trong hai số luôn bằng đúng tổng của hai số đó.
Chứng minh
Bước 1. Viết phân tích thừa số nguyên tố của a và b trên mọi số nguyên tố p: a=∏ppep và b=∏ppfp, với ep,fp≥0 và chỉ có hữu hạn số mũ khác không.
Bước 2. Một số nguyên dương d=∏ppcp chia hết cả a và b khi và chỉ khi cp≤ep và cp≤fp với mọi p, nên ước lớn nhất chọn cp=min(ep,fp): gcd(a,b)=∏ppmin(ep,fp). Lập luận đối ngẫu cho bội chung chọn số mũ nhỏ nhất không nhỏ hơn cả hai, cho lcm(a,b)=∏ppmax(ep,fp).
Bước 3. Với hai số thực bất kỳ, min(ep,fp)+max(ep,fp)=ep+fp. Nhân hai tích theo từng thừa số nguyên tố vì thế cho gcd(a,b)⋅lcm(a,b)=∏ppmin(ep,fp)+max(ep,fp)=∏ppep+fp=(∏ppep)(∏ppfp)=ab.
Đại họcỨng dụng thực tiễn và Ví dụ minh họa
Kỹ sư xây dựng dùng gcd(a,b) để chọn viên gạch hoặc tấm panel vuông mô-đun lớn nhất lát vừa khít sàn hình chữ nhật mà không cần cắt; nhà quy hoạch giao thông và kỹ sư hệ thống nhúng dùng lcm(a,b) để tìm chu kỳ chung của các tác vụ định kỳ hoặc lịch xe buýt; còn mật mã học chạy thuật toán Euclid trên các số nguyên hàng nghìn bit hàng triệu lần mỗi giây.
Ví dụ: Lát sân bằng các tấm đá vuông lớn nhất
Một sân hình chữ nhật có kích thước 48 m nhân 18 m. Bạn muốn lát kín sân bằng các tấm đá hình vuông giống hệt nhau có cạnh nguyên (tính bằng mét), không cắt viên nào. Độ dài cạnh tấm đá lớn nhất có thể dùng là bao nhiêu, và cần bao nhiêu tấm?
Lời giải
Bước 1. Tấm đá vuông cạnh s m lát vừa khít không cần cắt theo cả hai chiều khi và chỉ khi s∣48 và s∣18, nên s lớn nhất như vậy là gcd(48,18).
Bước 2. Chạy thuật toán Euclid: 48=2×18+12, tiếp theo 18=1×12+6, rồi 12=2×6+0. Số dư khác không cuối cùng là 6, nên gcd(48,18)=6 m.
Bước 3. Đếm số tấm đá: 48÷6=8 tấm theo chiều dài và 18÷6=3 tấm theo chiều rộng, cần tổng cộng 8×3=24 tấm.
Ví dụ: Đồng bộ hai tuyến xe buýt
Tuyến A rời bến trung tâm mỗi 12 phút và Tuyến B rời bến mỗi 18 phút. Cả hai cùng xuất phát lúc 08:00. Sau bao nhiêu phút nữa chúng lại cùng xuất phát, và vào lúc mấy giờ?
Lời giải
Bước 1. Tuyến A xuất phát tại các bội của 12 phút và Tuyến B tại các bội của 18 phút, nên lần cùng xuất phát dương đầu tiên là sau lcm(12,18) phút.
Bước 2. Tìm ƯCLN trước: 18=1×12+6 và 12=2×6+0, cho gcd(12,18)=6.
Bước 3. Áp dụng đẳng thức tích: lcm(12,18)=612×18=36 phút. Cộng 36 phút vào 08:00 cho thời điểm cùng xuất phát tiếp theo là 08:36.
Dùng bước đầu tiên của thuật toán Euclid trên (48,18), tức 48=2×18+12, đẳng thức ƯCLN nào sau đây đúng?
Hai số nguyên dương a,b thỏa ab=180 và gcd(a,b)=6. Giá trị của lcm(a,b) là bao nhiêu?
Cặp số nào dưới đây nguyên tố cùng nhau (gcd(a,b)=1)?
Hai bánh răng có 16 răng và 20 răng ăn khớp với nhau tại một cặp răng được đánh dấu. Sau bao nhiêu bước răng thì đúng cặp răng đánh dấu đó lại khớp nhau lần đầu tiên?