Toán đồng dư
Contents
Định nghĩa
Phép lấy phần dư
Xét a,b∈Z,b≠0, kí hiệu amodb là số dư khi chia a cho b. Ví dụ: 30mod7=210mod2=0−12mod5=3 Ta thấy, −12mod5 có thể có 2 kết quả là −2 hoặc 3. Thông thường, khi làm toán thì số dương được ưu tiên, tuy nhiên khi lập trình phép mod này sẽ cho kết quả âm.
Định nghĩa một cách chuẩn mực, xét phép chia Euclide a cho b: q∈Za=bq+r|r|<|b| Thì ta có amodb=r.
Đồng dư
Xét số nguyên n>1 và 2 số nguyên a,b, ta kí hiệu a≡b(modn) khi a và b có cùng số dư khi chia cho n, đọc là a đồng dư với b modulo n.
Ví dụ: 12≡7≡2(mod5)−3≡2(mod5)
Như vậy, a≡b(modn)⟺amodn=bmodn.
Kí hiệu ˉan là tập hợp tất cả các số đồng dư với a trong modulo n:
ˉan={x∣x≡a(modn)}Ta có vành Z/n là tập hợp tất cả các ˉan:
Z/n={ˉan∣a∈Z}Ví dụ: ˉ85=ˉ35={…,−7,−2,3,8,13,…}Z/5={ˉ05,ˉ15,ˉ25,ˉ35,ˉ45}
Xem thêm về vành - Ring.
Phép toán trên vành modulo và một số tính chất
Phần này xét phép cộng và phép nhân. Phép cộng và phép nhân được định nghĩa thông qua lý thuyết vành:
ˉan+ˉbn=¯a+bnˉan−ˉbn=¯a−bnˉanˉbn=¯abnVí dụ:
ˉ610+ˉ810=¯6+810=¯1410=ˉ410. Ý nghĩa là: “số chia 10 dư 6” cộng cho “số chia 10 dư 8” sẽ cho kết quả là “số chia 10 dư 4”.
Ta cũng có thể sử dụng kí hiệu đồng dư: 6+8≡14≡4(mod10)
Dấu ≡ cũng có tính chất tương tự như dấu =:
- a≡a(modn)
- a≡b(modn)⟺b≡a(modn)
- Nếu a≡b(modn) và b≡c(modn) thì a≡c(modn)
Xét a,b,k∈Z, nếu a≡b(modn) thì ta có các tính chất sau:
- −a≡−b(modn)
- a+k≡b+k(modn)
- ka≡kb(modn)
- ak≡bk(modn)
- Tổng quát, ta có p(a)≡p(b)(modn), với p là đa thức có hệ số nguyên.
Ngược lại, ta có:
- a+k≡b+k(modn)⟺a≡b(modn)
- Nếu ka≡kb(modn) và k nguyên tố cùng nhau với n thì a≡b(modn)
Xét a1≡b1(modn) và a2≡b2(modn), ta có:
- a1+a2≡b1+b2(modn)
- a1−a2≡b1−b2(modn)
- a1a2≡b1b2(modn)
Ví dụ ứng dụng toán đồng dư
Trong ví dụ sau mình sẽ chứng minh “Một số chia hết cho 3 khi và chỉ khi tổng các chữ số của số đó chia hết cho 3”.
Xét số A có n chữ số trong hệ thập phân: a0,a1,a2,…,an−1, ta có:
A=a0+10a1+102a2+⋯+10n−1an−1Theo bài toán thì ta có A chia hết cho 3, có nghĩa là: A≡0(mod3)
Tương đương với:
a0+10a1+102a2+⋯+10n−1an−1≡0(mod3)Mặt khác, vì 10≡1(mod3) nên ta có thể thay 10 bằng 1 trong biểu thức ở trên, ta có:
a0+1a1+12a2+⋯+1n−1an−1≡0(mod3)⟺a0+a1+a2+⋯+an−1≡0(mod3)Chứng minh xong. Áp dụng kĩ thuật tương tự ta cũng có thể chứng minh các số chia hết cho 9 sẽ có tổng các chữ số chia hết cho 9.