II. Số nguyên:
1. Số nguyên và phép chia :
Trong phần sau đây kí hiệu Z để chỉ tập hợp các số 0,
±
1,
±
2, .... Khi x
∈
Z ta nói x là một
số nguyên. Bản thân Z được gọi là tập các số nguyên.
Ta cũng chấp nhận tiên đề sau đây – gọi là tiên đề về tối thứ tự (well - ordering axiom):
“Mọi tập khác rổng của các số nguyên không âm đều có phần tử nhỏ nhất.”
Điều này có nghóa là: Nếu S là tập hợp khác rổng các số nguyên
≥
0 thì tồn tại một số nguyên
n
∈
S sao cho n
≤
x đối với mọi x
∈
S
Đònh nghóa : Cho hai số nguyên a và b với a
≠
0, ta nói a chia hết cho b nếu tồn tại số nguyên c
sao cho a = bc. Khi đó ta cũng nói b chia hết a hoặc b là ước số của a hoặc a là bội số của b.
Kí hiệu: b | a.
Ví dụ: 13 | 182 17 | 0.
Chú ý rằng trong đònh nghóa nói trên ta không đònh nghóa phép chia cho 0 mặc dù, cũng theo
đònh nghóa trên, 0 chia hết cho mọi số nguyên.
Đònh lý 1: Nếu a, b, c là các số nguyên sao cho c | b và b | a thì c | a.
Chứng minh:
Vì c | b nên tồn tại số nguyên k sao cho b=kc (1)
Vì b | a nên tồn tại số nguyên h sao cho a=hb (2).
Từ (1) và (2) được a=(hk) c.
Vì hk là số nguyên nên ta kết luận: c | a.
QED
Đònh lý 2: Cho a, b, m, n là các số nguyên. Nếu c | a và c | b thì c | (am+bn)
Chứng minh:
c | a
⇒
(
∃
k
1
∈
Z : a = k
1
c) (1)
c | b
⇒
(
∃
k
2
∈
Z : b = k
2
c) (2)
Từ (1) và (2) suy ra: am+bn=k
1
cm+k
2
cn=(k
1
m+k
2
n) c
QED
Đònh lý 3 : Với mọi số nguyên a và b sao cho b > 0 tồn tại duy nhất một bộ hai số nguyên
không q và r với 0
≤
r < b sao cho:
a = bq + r.
Chứng minh:
Ta cần chứng minh hai điều:
Sự tồn tại của q và r:
32
Gọi S là tập mọi số nguyên có dạng a –bk trong đó k
∈
Z: S =
{ }
|a bk k Z− ∈
.
Gọi T là mọi số nguyên không âm chứa trong S: T =
{ }
|( 0) ( )t t t S≥ ∧ ∈
Vậy T khác rổng vì với mọi số nguyên k sao cho k < a/b thì a-bk > 0. Theo tiên đề về tối thứ tự thì
phải có số nguyên k=q sao cho (a-bq) là phần tử nhỏ nhất của T. Đặt r = a-bq.
Theo cách xây dựng r nêu trên ta có r
≥
0.
Mặt khác giả sử r
≥
b > 0 thì r > r –b = (a – bq) – b = a – b(q+1)
≥
0. Mâu thuẩn với tính
chất r là phần tử nhỏ nhất của T. Vậy r < b.
Sự duy nhất của q và r :
Giả sử ta có a=bq
1
+r
1
và a=bq
2
+r
2
, với
1
0 r b≤ <
và
2
0 r b≤ <
.
Suy ra: 0=b(q
1
-q
2
)+ (r
1
-r
2
) hay: r
2
-r
1
=b(q
1
-q
2
).
Hay b chia hết r
2
-r
1
.
Từ
1
0 r b≤ <
và
2
0 r b≤ <
ta có: -b < r
2
– r
1
< b.
Nên b chia hết r
2
– r
1
chỉ khi r
2
– r
1
= 0, ie: r
2
= r
1
. Cũng suy ra được q
2
= q
1
Nói cách khác bộ q và r là duy nhất.
QED
Thuật ngữ: Trong đònh lí trên a được gọi là số bò chia(dividend), b là số chia (divisor), q là thương số (quotient) và r là
dư số (remainder). Đònh lý trên còn được gọi dưới tên thuật toán chia Euclide vì nó cho phép tìm ra thương
số và dư số sau một dãy phép toán trừ:
Ví dụ:
Để tìm thương số và dư số của phép chia 14 cho 3 ta lần lượt trừ (lần 1) 14 cho 3 dược 11. Vì 11 còn lớn hơn 3 nên ta trừ
tiếp (lần 2) 11 cho 3 được 8. Tiếp tục (lần 3) 8-3 =5 và (lần 4) 5-3 =2. Vậy 14 chia 3 được 4 dư 2.
.....
q:=0
While a
≥
b do
Begin
a:=a-b
q:=q+1
End
r:=a
return(q,r)
Trong thực tế tính toán không ai chia như vậy cả. Nhưng thuật toán đó có độ phức tạp thời gian là O(n) và
trong máy tính không cần phải thiết kế một mạch chia
1
mà vẫn thực hiện được phép chia nguyên một cách
hiệu quả như thường.
Đònh nghóa: Số nguyên tố là số nguyên dương khác 1 và chỉ chia hết cho 1 và cho chính nó.
Các số nguyên dương khác 1 và không phải số nguyên tố gọi là hợp số.
Đònh lý cơ bản của số học: Mọi số nguyên dương đều có thể phân tích được một cách duy nhất
thành tích các thừa số nguyên tố sai khác một sự sắp xếp thứ tự các thừa số đó.
1
Sẽ được trình bày trong mục biểu diễn số nguyên trong máy tính.
33
Ví dụ: 100 = 2.2.5.5 =2
2
5
2
999 = 3.3.3.37 = 3
3
.37
Chúng ta chấp nhận không chứng minh đònh lý đó.
Đònh lý 4: Nếu n là một hợp số thì n có ước số nguyên tố bé hơn hoặc bằng
n
Chứng minh:
Vì n là một hợp số nên n phải viết được thành dạng n = ab với 1<a<n và 1<b<n.
Nếu (a >
n
) và (b >
n
) thì n = ab > (
n
.
n
) = n . Mâu thuẩn.
Vậy hoặc a
≤
n
hoặc b
≤
n
(hoặc cả hai!).
Suy ra n phải có một ước số bé hơn hoặc bằng
n
. Ước số này hoặc là nguyên tố hoặc phải có
một ước số nguyên tố bé hơn hoặc bằng nó (theo đònh lí căn bản của số học). Trong trường hợp nào n
cũng có một ước số nguyên tố bé hơn hoặc bằng
n
.
QED
Chú ý rằng đònh lý vừa phát biểu không nói rằng mọi ước số nguyên tố của n thì bé hơn hoặc bằng
n
. Chẳng
hạn 10=2.5 thì 5 là một ước số nguyên tố của 10 nhưng 5 >
10
Ví dụ 1: Từ đònh lý này ta có thể xây dựng một thuật toán để kiểm tra xem một số nguyên có
phải là số nguyên tố hay không:
34
Procedure KiemTraNguyenTo(n: số nguyên dương)
Ketqua:=TRUE
IF (n>1) THEN
Begin
i:=2
WHILE (i
≤
n
) DO
Begin
IF ( i | n) THEN
Begin
KetQua:=FALSE
i:=(phần nguyên của
n
)+1
End
ELSE i:=i+1
End
End
ELSE KetQua:=FALSE
Return(KetQua)
ƯỚC SỐ CHUNG LỚN NHẤT – BỘI SỐ CHUNG NHỎ NHẤT.
Đònh nghóa: Cho a và b là hai số nguyên không đồng thời bằng 0. Số nguyên d lớn nhất sao cho
d|a và d|b gọi là ước số chung lớn nhất của a và b và được kí hiệu là UCLN(a,b).
Theo đònh nghóa trên và theo các tính chất đã học ta thấy rằng nếu d=UCLN(a,b) thì, giả sử (a–
b >b), d cũng là UCLN(a-b,b). Thật vậy nếu d là ước chung lớn nhất của a và b thì d cũng là ước chung
lớn nhất của a-b và b, và ngược lại. Từ nhận xét đó thay vì đi tìm ước chung lớn nhất của a và b ta chỉ
cần đi tìm ước chung lớn nhất của a-b và b (với giả thiết a-b>b). Bằng cách đó ta đã làm giảm kích
thước bài toán cần giải quyết (ie: thay kích thước a bằng kích thước a-b). Trong quá trình đi tìm ước
chung như thế có cơ kích thước bài toán giảm đến 0 (eg: khi a=b). Tuy nhiên nếu mở rộng đònh nghóa
trên cả trong trường hợp a và b là các số nguyên không âm và với nhận xét số nguyên dương nào cũng
là ước số của 0 (0 = 0.x với mọi số nguyên dương x) ta sẽ có a=UCLN(a,0).
Ví dụ: Tìm ước chung lớn nhất cho hai số 24 và 36.
Cách1 :
Các ước số của 24 là: 1 2 3 4 6 8 12 24
Các ước số của 36 là: 1 2 3 4 6 9 12 18 36
Các ước chung của 24 và 36 là: 1 2 3 4 6 12
Vậy ước chung lớn nhất là: 12
Cách 2: Thực hiện lần lượt các phép trừ và gán như sau:
UCLN của 36 24 (36-24=12)
UCLN của 24 12 (24-12=12)
UCLN của 12 12 (12-12=0)
UCLN của 12 0
Dòng cuối cùng cho thấy ước chung lớn nhất là 12. Chúng ta thấy trong cách 2 các phép chia
và duyệt danh sách trong cách 1 đã được thay bằng một dãy các phép trừ đơn giản và phép so sánh
sau mỗi lần thực hiện phép trừ. Nếu hai số a và b là rất lớn và gần bằng nhau thì rõ ràng cách 2 có
hiệu quả hơn nhiều.
Mã giả cho thuật toán đó như sau:
Procedure UCLN(a,b: các số nguyên không âm)
35
While (b
≠
0) do
Begin
IF (a<b) THEN {Hoán chuyển vò trí của a và b}
Begin
t:=a
a:=b
b:=t
End
a:=a-b
End
Return(a)
Việc xác đònh hai số nguyên không có ước số chung nào ngoài 1 có một vò trí rất quan trọng
trong các phép tính.
Đònh nghóa: Các số nguyên a và b gọi là nguyên tố cùng nhau nếu UCLN(a,b)=1.
Đònh nghóa : Các số nguyên a
1
,a
2
,a
3
, ..., a
n
gọi là đôi một nguyên tố cùng nhau nếu:
n...1j,n...1i =∀=∀
: i
≠
j
⇒
UCLN(a
i
,a
j
)=1
Đònh nghóa: Bội số chung nhỏ nhất của hai số nguyên a và b là số nguyên dương nhỏ nhất chia
hết cho cả a lẫn b, và được kí hiệu là BCNN(a,b).
Đònh lý 5: Với mọi số nguyên dương a và b ta có:
ab=UCLN(a,b) . BCNN(a,b)
Ta chấp nhận đònh lý này.
o Số học đồng dư và ứng dụng .
Đònh nghóa: Cho m là một số nguyên dương, a và b là các số nguyên. Ta nói a là đồng dư với
b modulo m nếu m | (a-b), và kí hiệu a
≡
b (mod m).
Thực chất của đònh nghóa trên như sau:
1) Nếu m | (a-b) thì
∃
k
1
∈
Z : a-b=k
1
m (*)
Giả sử trong phép chia a cho m được : a=k
2
m+r với (0
≤
r < m) (**)
Thì từ (*) và (**) suy ra: k
2
m + r –b =k
1
m
Hay b=(k
2
-k
1
) m +r với (0
≤
r < m)
Vậy a và b có cùng dư số trong phép chia cho m.
2) Ngược lại nếu a và b có cùng dư số trong phép chia cho m thì
+=
+=
rmkb
rmka
2
1
⇒
a-b = (k
1
-k
2
) m
⇒
m | (a-b).
Ví dụ: 22
≡
4 (mod 9) vì 9 | (22-4)=18
3
≡
-6 (mod 9) vì 9 | (3+(-6))
13 không đồng dư với 5 modulo 9.
Đònh lý 6: Với mọi số nguyên a và b, a
≡
b (mod m) nếu và chỉ nếu tồn tại số nguyên k sao
cho: a = b + km.
36
Chứng minh.
a
≡
b (mod m)
⇔
m | (a-b) (theo đònh nghóa)
⇔
k∃
∈
Z : (a-b)= m.k
⇔
k∃
∈
Z : a = b+k.m
QED
Đònh lý sau đây thiết lập một số tính chất rất quan trọng về đồng dư thức.
Đònh lý 7: Cho m là một số nguyên dương. Đồng dư thức modulo m thoả mãn các tính chất
sau:
a) Tính phản hồi (Reflexive):
∀
a
∈
Z : a
≡
a (mod m)
b) Tính đối xứng (Symmetric):
∀
a, b
∈
Z : a
≡
b (mod m)
⇒
b
≡
a (mod m)
c) Tính truyền (Transitive):
∀
a, b, c
∈
Z : a
≡
b (mod m) và b
≡
c (mod m)
⇒
a
≡
c (mod m)
Chứng minh
Chứng minh các tính chất a) và b) là đơn giản, xin nhường cho người đọc.
Để chứng minh c) , ta có:
Với mọi số nguyên a, b, c :
=−∈∃⇒−⇒≡
=−∈∃⇒−⇒≡
mkcb:Zk)cb(|m)m(modcb
mkba:Zk)ba(|m)m(modba
22
11
⇒
(a-b)-(b-c) = a-c = (k
1
-k
2
)m.
Vì (k
1
-k
2
) là số nguyên nên ...
QED
Ví dụ:
... -8
≡
-4
≡
0
≡
4
≡
8
≡
12
≡
16 (mod 4)
... -7
≡
-3
≡
1
≡
5
≡
9
≡
13
≡
17 (mod 4)
... -6
≡
-2
≡
2
≡
6
≡
10
≡
14
≡
18 (mod 4)
... -5
≡
-1
≡
3
≡
7
≡
11
≡
15
≡
19 (mod 4)
Cho số nguyên a và số nguyên dương m, theo thuật chia Euclide ta có a=bm+r trong đó 0
≤
r <
m. Ta sẽ gọi r là thặng dư không âm bé nhất của a theo modulo m. Rõ ràng a
≡
r (mod m). Trong một
số ngôn ngữ lập trình – như Pascal - đôi khi người ta cũng dùng cách ghi a mod m = r. Ví dụ: 17 mod 4
= 1. Khi đó mod được sử dụng như một toán tử.
Đònh lý 8: Cho m là một số nguyên dương. Ta có:
≡
≡
)m(moddc
)m(modba
⇒
≡
+≡+
)m(modbdac
)m(moddbca
với mọi số nguyên a,b,c,d
(Chứng minh khá đơn giản nên dành cho người đọc.)
37
Đònh lý 9: Nếu a, b, c là các số nguyên sao cho m>0, ta có:
=
≡
)m,c(UCLNd
)m(modbcac
⇒
a
≡
b (mod (m/d))
Chứng minh
Vì ac
≡
bc (mod m) suy ra m | (ac-bc). Từ đó:
∃
k
∈
Z: (ac-bc)=c(a-b)=km
Vậy: (c/d) (a-b) = k (m/d).
Vì d=UCLN(c,m) nên 1=UCLN(c/d,m/d).
Suy ra: (m/d) | (a-b). Hay a
≡
b (mod (m/d))
QED
Khái niệm đồng dư tuyến tính :
Đồng dư thức có dạng:
ax
≡
b (mod m) (1)
trong đó x là một ẩn số nguyên được gọi là một phương trình đồng dư tuyến tính một biến.
Trước hết cần nhận xét rằng nếu phương trình (1) có một nghiệm x
0
và nếu x
1
≡
x
0
(mod m) thì
do đònh lý 8 ta có: ax
1
≡
ax
0
≡
b (mod m) nên x
1
cũng là một nghiệm của (1). Nói cách khác nếu (1)
có nghiệm thì nó cũng có một họ nghiệm. Vì vậy nói đến các Hàn Tín điểm binhnghiệm của (1) là nói
đến các nghiệm (nếu có) không đồng dư modulo m với nhau. Các đònh lý dưới đây sẽ dẫn ta đến việc
xác đònh các nghiệm đó (nếu có).
Đònh lý 10: Nếu d=UCLN(a,m) với a, m là các số nguyên dương không đồng thời bằng 0 thì
tồn tại các số nguyên s và k sao cho d là số nguyên dương nhỏ nhất thoả d = as+mk.
Chứng minh:
Xét tập H gồm các số nguyên dương dạng as+mk. Tập H
≠
φ
vì 1.a+0.m
∈
H, do đó tồn tại
phần tử d nhỏ nhất thuộc H. Ta có thể viết d = as+mk với s,k
∈
Z.
Theo thuật chia Euclide ta có a= dq + r, 0
≤
r < d .
Vậy: r = a – dq = a – (as+mk)q = a(1 – sq) + m(-kq)
∈
H
Nhưng 0
≤
r < d. Vậy r = 0 (nếu không sẽ mâu thuẩn với tính chất của d là số nguyên dương
nhỏ nhất thuộc H). Suy ra d | a. Tương tự ta có d | m.
Ta đã suy ra được d là ước số chung của a và m.
Giả sử c là một ước số chung bất kì của a và m. Ta có:
c | a và c | m
⇒
c | as+mk
⇒
c | d.
Vậy d là ước số chung lớn nhất trong các ước số chung của a và m.
QED
38
Đònh lý 11: Cho hai số nguyên a, m và d= UCLN(a,m). Phương trình bậc nhất hai ẩn
ax+my=b
2
vô nghiệm nếu b không chia hết cho d. Nếu b chia hết cho d thì phương trình ax+my=b có
vô số nghiệm. Hơn nữa, nếu (x
0
,y
0
) là một nghiệm thì mọi nghiệm khác sẽ cho bởi:
x=x
0
+(m/d)t , y=y
0
– (a/d)t
với t là một số nguyên nào đó.
Chứng minh:
Trường hợp 1: Giả sử b không chia hết cho d.
Vì d=UCLN(a,m) nên d|a và d|m. Suy ra d | ax+my=b.
Do đó nếu b không chia hết cho d sẽ dẫn đến mâu thuẩn. Nói cách khác phương trình ax+my=b
vô nghiệm.
Trường hợp 2: Giả sử b chia hết cho d.
d = UCLN(a,m). Vậy theo đònh lý 10 tồn tại các số nguyên s và k sao cho:
d = as+mk (*)
Vì d | b nên tồn tại e sao cho b = de. (**)
Từ (*) và (**): b = de = (as + mk)e = a (se) + m (ke) (***)
Từ (***) ta có: (x
0
,y
0
) với x
0
=se và y
0
=ke là một nghiệm của ax+my=b.
Bây giờ đặt x=x
0
+(m/d)t và y=y
0
– (a/d)t với t
∈
Z. (****)
Ta có: ax+my=ax
0
+a(m/d)t + my
0
-m(a/d)t=ax
0
+my
0
=b. Vậy (x,y) cũng là một nghiệm.
Ta còn cần chứng minh mọi nghiệm của ax + my = b phải có dạng (****)
Giả sử (x,y) là cặp số nguyên sao cho: ax + my = b.
Vì ax
0
+my
0
=b nên: (ax + my) - (ax
0
+ my
0
) = a(x-x
0
) + m(y-y
0
) = 0
Hay: a(x-x
0
) = m(y
0
-y) (+)
Chia cả hai vế cho d, được:
(a/d) (x-x
0
) = (m/d) (y
0
-y)
Vì d=UCLN(a,m) nên 1=UCLN(a/d,m/d). Do đó (m/d) không chia hết cho (a/d).
Suy ra (a/d) | (y
0
-y).
Vậy:
∃
t
∈
Z : ( y
0
-y) = (a/d)t.
Hay y=y
0
– (a/d)t (++)
Thay (++) vào (+), được: a(x-x
0
) = m(a/d)t.
Hay x =x
0
+ (m/d)t. Chứng minh tương tự được y=y
0
-(a/d)t.
QED
2
Phương trình dạng này còn có tên gọi là Phương trình vô đònh hay phương trình Diophant (gọi theo tên nhà
toán học Ai cập Diophantus (250 - ?).
39