let menu = ["Home", "Algorithms", "CodeHub", "VNOI Statistics"];

Toán đồng dư

Toán đồng dư

Định nghĩa

Phép lấy phần dư

Xét a,bZ,b0, kí hiệu amodb là số dư khi chia a cho b. Ví dụ: 30mod7=210mod2=012mod5=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: qZa=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 ab(modn) khi ab có cùng số dư khi chia cho n, đọc là a đồng dư với b modulo n.

Ví dụ: 1272(mod5)32(mod5)

Như vậy, ab(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={xxa(modn)}

Ta có vành Z/n là tập hợp tất cả các ˉan:

Z/n={ˉanaZ}

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=¯abnˉanˉbn=¯abn

Ví 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+8144(mod10)

Dấu cũng có tính chất tương tự như dấu =:

  • aa(modn)
  • ab(modn)ba(modn)
  • Nếu ab(modn)bc(modn) thì ac(modn)

Xét a,b,kZ, nếu ab(modn) thì ta có các tính chất sau:

  • ab(modn)
  • a+kb+k(modn)
  • kakb(modn)
  • akbk(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+kb+k(modn)ab(modn)
  • Nếu kakb(modn)k nguyên tố cùng nhau với n thì ab(modn)

Xét a1b1(modn)a2b2(modn), ta có:

  • a1+a2b1+b2(modn)
  • a1a2b1b2(modn)
  • a1a2b1b2(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ố An chữ số trong hệ thập phân: a0,a1,a2,,an1, ta có:

A=a0+10a1+102a2++10n1an1

Theo bài toán thì ta có A chia hết cho 3, có nghĩa là: A0(mod3)

Tương đương với:

a0+10a1+102a2++10n1an10(mod3)

Mặt khác, vì 101(mod3) nên ta có thể thay 10 bằng 1 trong biểu thức ở trên, ta có:

a0+1a1+12a2++1n1an10(mod3)a0+a1+a2++an10(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.

Xem thêm

Comments