Tải bản đầy đủ (.pdf) (35 trang)

Chỉnh hợp và tổ hợp suy rộng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.24 MB, 35 trang )

Email: Website: WWW.BeautifulLife.Cwahi.net
1
Khoa Công nghệ thông tin
Bộ môn Khoa học máy tính
o0o
BÁO CÁO THẢO LUẬN
Môn học :Toán rời rạc
Chủ đề: Chỉnh hợp và tổ hợp suy rộng
Nhóm 2
Các sinh viên:
1. Nguyễn Thị Thanh
2. Dương Bách Tiến
3. Nguyễn Đức Trọng
4. Nguyễn Thị Phượng
5. Nguyễn Thị Quyến
6. Tạ Văn Trung
7. Nguyễn Xuân Trường
Email: Website: WWW.BeautifulLife.Cwahi.net
2
Lời mở đầu
Lý thuyết tổ hợp là 1 phần quan trọng của toán rời rạc chuyên nghiên cứu sự
phân bố các phần tử vào các tập hợp.Thông thường các phần tử này là hữu hạn và
việc phân bố chúng phải thỏa mãn những điều kiện nhất định nào đó tùy theo yêu
cầu của bài toán cần nghiên cứu.Mỗi cách phân bố như thế gọi là một cấu hình tổ
hợp.Chủ đề này đã được nghiên cứu vào thế kỉ 17,khi những câu hỏi về tổ hợp
được đưa ra trong các công trình nghiên cứu hay các trò chơi may rủi.Liệt kê,đếm
các đối tượng có những tính chất nào đólaf một phần quan trọng của lý thuyết tổ
hợp.Chúng ta cần phải đếm các đối tượng để giải nhiều bài toán khác nhau.Hơn
nữa các kĩ thuật đếm được dùng rất nhiều khi tính xác suất của các biến cố hay
trong đánh giá độ phức tạp của thuật toán.
Trong bài báo cáo này chúng tôi sẽ trình bày các nội dung cơ bản về chỉnh hợp


và tổ hợp suy rộng cùng với các vấn đề liên quan . Cuối báo cáo là thuật toán liệt
kê tất cả các hoán vị của các kí tự trong một xâu ( Với files chương trình và mã
nguồn đi kèm trong CD).
Mục đính của bài thảo luận :
 Cung cấp kiến thức cơ bản về hoán vị, tổ hợp và chỉnh hợp suy rộng
 Minh họa thuật toán liệt kê các hoán vị của các kí tự trong một xâu cho
trước.
Dù đã rất cố gắng nhưng với thời gian hạn chế chắc chắn báo cáo này vẫn còn
rất nhiều thiếu sót, rất mong nhận được sự góp ý của thầy cô và các bạn.
Nhóm các sinh viên Thanh, Tiến, Trọng, Phượng, Quyến, Trung, Trường xin cảm
ơn!
Email: Website: WWW.BeautifulLife.Cwahi.net
3
BÁO CÁO THẢO LUẬN
Môn học :Toán rời rạc
Chủ đề: Chỉnh hợp và tổ hợp suy rộng
Các sinh viên:
8. Nguyễn Thị Thanh
9. Dương Bách Tiến
10. Nguyễn Đức Trọng
11. Nguyễn Thị Phượng
12. Nguyễn Thị Quyến
13. Tạ Văn Trung
14. Nguyễn Xuân Trường
Email: Website: WWW.BeautifulLife.Cwahi.net
4
Mục lục
1. Lời mở đầu …………………………………………………… 2
2. Cơ sở phép đếm ………………………………………………. 5
3. Chỉnh hợp …………………………………………………… 13

4. Hoán vị ………………………………………………………. 15
5. Tổ hợp ……………………………………………………… 19
6. Thuật toán liệt kê các hoán vị của các kí tự trong xâu ……… 23
7. Một số nội dung mở rộng …………………………………… 24
8. Tài liệu tham khảo …………………………………………… 32
9. Lời kết thúc ………………………………………………… 33
10. Nhận xét của giáo viên phụ trách ………………… ……… 33
Email: Website: WWW.BeautifulLife.Cwahi.net
5
Nội dung
1.Cơ sở của phép đếm
1.1Quy tắc cộng
Nếu một công việc có thể được thực hiện bằng một trong n cách loại trừ
lẫn nhau: k
1
, k
2
, …, k
n
. Trong đó để thực hiện theo cách k
i
lại có t
i
phương
án khác nhau (i=1 n). Khi đó tổng số phương án để thực hiện công việc ban
đầu là: t
1
+ t
2
+ … + t

n
.
Ví dụ 1. Giả sử cần chọn hoặc một cán bộ hoặc một sinh viên tham gia
một hội đồng của
một trường đại học. Hỏi có bao nhiêu cách chọn vị đại biểu này nếu như có
37 cán bộ và 63 sinh viên.
Giải: Gọi việc thứ nhất là chọn một cán bộ từ tập cán bộ ta có 37 cách.
Gọi việc thứ hai là chọn một sinh viên từ tập sinh viên ta có 63 cách. Vì tập cán
bộ và tập sinh viên là rời nhau, theo nguyên lý cộng ta có tổng số cách chọn vị
đại biểu này là 37 + 63 = 100 cách chọn.
Ví dụ 2. Một đoàn vận động viên gồm môn bắn súng và bơi được cử đi
thi đấu ở nước ngoài. Số vận động viên nam là 10 người. Số vận động viên thi
bắn súng kể cả nam và nữ là 14 người. Số nữ vận động viên thi bơi bằng số vận
động viên nam thi bắn súng. Hỏi đoàn có bao nhiêu người.
Giải: Chia đoàn thành hai tập, tập các vận động viên nam và tập các vận
động viên nữ. Ta nhận thấy tập nữ lại được chia thành hai: thi bắn súng và thi
Email: Website: WWW.BeautifulLife.Cwahi.net
6
bơi. Thay số nữ thi bơi bằng số nam thi bắn súng, ta được số nữ bằng tổng số
vận động viên thi bắn súng. Từ đó theo nguyên lý cộng toàn đoàn có 14 + 10 =
24 người.
Ví dụ 3. giá trị của biến k sẽ bằng bao nhiêu sau khi thực hiện đoạn chương
trình sau:
k:= 0
for i
1
:= 1 to n
1 do
k:=k+1
for i

2
:= 1 to n
2
k:=k+1


for i
m
:= 1 to n
m
k:=k+1
Giải: Coi mỗi vòng for là một công việc, do đó ta có m công việc T
1
,
T
2
, , T
m
. Trong đó T
i
thực hiện bởi n
i
cách (i= 1, 2, , m). Vì các vòng for
không lồng nhau hay các công việc không thực hiện đồng thời nên theo nguyên
lý cộng tổng tất cả các cách để hoàn thành T
1
, T
2
, , T
m

là k= n
1
+ n
2
+ + n
m
.
1.2Quy tắc nhân
Giả sử một nhiệm vụ nào đó được tách ra hai công việc. Việc thứ nhất
được thực hiện bằng n
1
cách, việc thứ hai được thực hiện bằng n
2
cách sau khi
việc thứ nhất đã được làm, khi đó sẽ có n
1
.n
2
cách thực hiện nhiệm vụ này.
Nguyên lý nhân có thể được phát biểu tổng quát bằng ngôn ngữ tập hợp như
sau:
Nếu A
1
, A
2
, , A
m
là những tập hợp hữu hạn, khi đó số phần tử của tích đề
các các tập này bằng tích số các phần tử của mỗi tập thành phần. Hay đẳng thức:
Email: Website: WWW.BeautifulLife.Cwahi.net

7
N
(A
1
×
A
2
×
A
m
) = N (A
1
) N (A
2
) N (A
m
).
Nếu A
1
= A
2
= A
m
thì N(A
k
) = N(A)
k
Ví dụ 1. Giá trị của k sẽ bằng bao nhiêu sau khi ta thực hiện đoạn chương
trình sau:
k:=0

for i
1
= 1 to n
1
for i
2
= 1 to n
2
………
for i
n
=1 to n
m
k:=k +1
Giải: Giá trị khởi tạo k=0. Mỗi vòng lặp kồng nhau đi qua giá trị của k
được tăng lên 1 đơn vị. Gọi T
i
là việc thi hành vòng lặp thứ i. Khi đó, số lần
vòng lặp là số cách thực hiện công việc. Số cách thực hiện công việc T
j
là n
j
(j=1,2, , n). Theo qui tắc nhân ta vòng lặp kép được duyệt qua n
1
+n
2
+ +n
m
lần và chính là giá trị của k.
Ví dụ 2. Người ta có thể ghi nhãn cho những chiếc ghế của một giảng

đường bằng một chữ cái và sau đó là một số nguyên nhỏ hơn 100. Bằng cách
như vậy hỏi có nhiều nhất bao nhiêu chiếc ghế có thể ghi nhãn khác nhau.
Giải: Có nhiều nhất là 26 x 100 = 2600 ghế được ghi nhãn. Vì kí tự gán
nhãn đầu tiên là một chữ cái vậy có 26 cách chọn các chữ cái khác nhau để ghi
kí tự đầu tiên, tiếp theo sau là một số nguyên dương nhỏ hơn 100 do vậy có 100
cách chọn các số nguyên để gán tiếp sau của một nhãn. Theo qui tắc nhân ta
nhận được 26 x 100 = 2600 nhãn khác nhau.
Ví dụ 3. Có bao nhiêu xâu nhị phân có độ dài 7.
Giải: một xâu nhị phân có độ dài 7 gồm 7 bít, mỗi bít có hai cách chọn
(hoặc giá trị 0 hoặc giá trị 1), theo qui tắc nhân ta có 2.2.2.2.2.2.2 = 2
7
= 128
xâu bít nhị phân độ dài 7.
Ví dụ 4. Có bao nhiêu hàm đơn ánh xác định từ một tập A có m phần tử
nhận giá trị trên tập
B có n phần tử.
Giải: Trước tiên ta nhận thấy, nếu m >n thì tồn tại ít nhất hai phần tử khác
Email: Website: WWW.BeautifulLife.Cwahi.net
8
nhau của A cùng
nhận một giá trị trên B, như vậy với m>n thì số các hàm đơn ánh từ A→B là 0.
Nếu m<=n, khi đó
phần tử đầu tiên của A có n cách chọn, phần tử thứ hai có n-1 cách chọn, , phần
tử thứ k có n-k+1
cách chọn. Theo qui tắc nhân ta có n(n-1) (n-2) (n-m+1) hàm đơn ánh từ tập A
sang tập B.
Ví dụ 5. Dạng của số điện thoại ở Bắc Mỹ được qui định như sau: số điện
thoại gồm 10 chữ số được tách ra thành một nhóm mã vùng gồm 3 chữ số, nhóm
mã chi nhánh gồm 3 chữ số và nhóm mã máy gồm 4 chữ số. Vì những nguyên
nhân kỹ thuật nên có một số hạn chế đối với một

số con số. Ta giả sử, X biểu thị một số có thể nhận các giá trị từ 0 9, N là số có
thể nhận các chữ
số từ 2 9, Y là các số có thể nhận các chữ số 0 hoặc 1.
Hỏi theo hai dự án đánh số NYX NNX XXXX và NXX NXX XXXX có
bao nhiêu số điện thoại được đánh số khác nhau ở Bắc Mỹ.
Giải: đánh số theo dự án NYX NNX XXXX được nhiều nhất là:
8 x 2 x 10 x 8 x 8 x10 x10 x10 x 10 x 10 x10 = 2 x 8
3
x
10
6
= 1 024. 10
6
đánh số theo dự án NXX NXX XXXX được nhiều nhất là:
8 x 10 x 10 x 8 x 10 x10 x10 x10 x 10 x 10 x10 = 8
2
x 10
8
= 64. 10
8
Ví dụ 6. Dùng qui tắc nhân hãy chỉ ra rằng số tập con của một tập S hữu
hạn là 2
N(S)
.
Giải: Ta liệt kê các phần tử của tập S là s
1
, s
2
, , s
N(S)

. Xây dựng một
xâu bít nhị phân dài
N(S) bít, trong đó nếu bít thứ i có giá trị 0 thì phần tử s
i
∉S, nếu bít thứ i có giá
trị 1 thì phần tử
s
i
∈S (i=1, 2, , N(S) ). Như vậy, theo nguyên lý nhân, số tập con của tập hợp S
chính là số xâu bít
Email: Website: WWW.BeautifulLife.Cwahi.net
9
nhị phân có độ dài N(S). Theo ví dụ 3, chúng ta có 2
N(S)
xâu bít nhị phân độ dài
N(S).
1.3. Nguyên lý bù trừ
Khi hai công việc có thể được làm đồng thời, ta không thể dùng quy tắc
cộng để tính số cách thực hiện nhiệm vụ gồm cả hai việc. Để tính đúng số cách
thực hiện nhiệm vụ này ta cộng số cách làm mỗi một trong hai việc rồi trừ đi số
cách làm đồng thời cả hai việc. Ta có thể phát biểu nguyên lý đếm này bằng ngôn
ngữ tập hợp. Cho A
1
, A
2
là hai tập hữu hạn, khi đó
|A
1
 A
2

| = |A
1
| + |A
2
|  |A
1
 A
2
|.
Từ đó với ba tập hợp hữu hạn A
1
, A
2
, A
3
, ta có:
|A
1
 A
2
 A
3
| = |A
1
| + |A
2
| + |A
3
|  |A
1

 A
2
|  |A
2
 A
3
|  |A
3
 A
1
| + |A
1
 A
2
 A
3
|,
và bằng quy nạp, với k tập hữu hạn A
1
, A
2
, , A
k
ta có:
| A
1
 A
2
  A
k

| = N
1
 N
2
+ N
3
 + (1)
k-1
N
k
,
trong đó N
m
(1  m  k) là tổng phần tử của tất cả các giao m tập lấy từ k tập đã
cho, nghĩa là
N
m
=
| |
1
21
21 m
m
i
kiii
ii
AAA 


Bây giờ ta đồng nhất tập A

m
(1  m  k) với tính chất A
m
cho trên tập vũ
trụ hữu hạn U nào đó và đếm xem có bao nhiêu phần tử của U sao cho không thỏa
mãn bất kỳ một tính chất A
m
nào. Gọi
N
là số cần đếm, N là số phần tử của U. Ta
có:
N
= N  | A
1
 A
2
  A
k
| = N  N
1
+ N
2
 + (1)
k
N
k
,
trong đó N
m
là tổng các phần tử của U thỏa mãn m tính chất lấy từ k tính chất đã

cho. Công thức này được gọi là nguyên lý bù trừ. Nó cho phép tính
N
qua các
N
m
trong trường hợp các số này dễ tính toán hơn.
Ví dụ 1: Có n lá thư và n phong bì ghi sẵn địa chỉ. Bỏ ngẫu nhiên các lá thư
vào các phong bì. Hỏi xác suất để xảy ra không một lá thư nào đúng địa chỉ.
Email: Website: WWW.BeautifulLife.Cwahi.net
10
Giải :Mỗi phong bì có n cách bỏ thư vào, nên có tất cả n! cách bỏ thư. Vấn
đề còn lại là đếm số cách bỏ thư sao cho không lá thư nào đúng địa chỉ. Gọi U là
tập hợp các cách bỏ thư và A
m
là tính chất lá thư thứ m bỏ đúng địa chỉ. Khi đó
theo công thức về nguyên lý bù trừ ta có:
N
= n!  N
1
+ N
2
 + (1)
n
N
n
,
trong đó N
m
(1  m  n) là số tất cả các cách bỏ thư sao cho có m lá thư đúng địa
chỉ. Nhận xét rằng, N

m
là tổng theo mọi cách lấy m lá thư từ n lá, với mỗi cách lấy
m lá thư, có (n-m)! cách bỏ để m lá thư này đúng địa chỉ, ta nhận được:
N
m
=
m
n
C
(n - m)! =
n
k
!
!

N
= n!(1 
1
1!
+
1
2!
 + (1)
n
1
n!
),
trong đó
m
n

C
=
)!(!
!
mnm
n

là tổ hợp chập m của tập n phần tử (số cách chọn m
đối tượng trong n đối tượng được cho). Từ đó xác suất cần tìm là: 1 
1
1!
+
1
2!

+ (1)
n
1
n!
. Một điều lý thú là xác suất này dần đến e
-
1
(nghĩa là còn >
1
3
) khi n
khá lớn.
Số
N
trong bài toán này được gọi là số mất thứ tự và được ký hiệu là D

n
.
Dưới đây là một vài giá trị của D
n
, cho ta thấy D
n
tăng nhanh như thế nào so với n:
n
2
3
4
5
6
7
8
9
10
11
D
n
1
2
9
44
265
1854
14833
133496
1334961
14684570

1.4. Nguyên lý DIRICHLET.
1.4.1. Mở đầu:
Giả sử có một đàn chim bồ câu bay vào chuồng. Nếu số chim nhiều hơn số
ngăn chuồng thì ít nhất trong một ngăn có nhiều hơn một con chim. Nguyên lý
này dĩ nhiên là có thể áp dụng cho các đối tượng không phải là chim bồ câu và
chuồng chim.
Mệnh đề (Nguyên lý): Nếu có k+1 (hoặc nhiều hơn) đồ vật được đặt vào
trong k hộp thì tồn tại một hộp có ít nhất hai đồ vật.
Email: Website: WWW.BeautifulLife.Cwahi.net
11
Chứng minh: Giả sử không có hộp nào trong k hộp chứa nhiều hơn một đồ
vật. Khi đó tổng số vật được chứa trong các hộp nhiều nhất là bằng k. Điều này
trái giả thiết là có ít nhất k + 1 vật.
Nguyên lý này thường được gọi là nguyên lý Dirichlet, mang tên nhà toán
học người Đức ở thế kỷ 19. Ông thường xuyên sử dụng nguyên lý này trong
công việc của mình.
Ví dụ 1:
1) Trong bất kỳ một nhóm 367 người thế nào cũng có ít nhất hai người có ngày
sinh nhật giống nhau bởi vì chỉ có tất cả 366 ngày sinh nhật khác nhau.
2) Trong kỳ thi học sinh giỏi, điểm bài thi được đánh giá bởi một số nguyên
trong khoảng từ 0 đến 100. Hỏi rằng ít nhất có bao nhiêu học sinh dự thi để cho
chắc chắn tìm được hai học sinh có kết quả thi như nhau?
Theo nguyên lý Dirichlet, số học sinh cần tìm là 102, vì ta có 101 kết quả
điểm thi khác nhau.
3) Trong số những người có mặt trên trái đất, phải tìm được hai người có hàm
răng giống nhau. Nếu xem mỗi hàm răng gồm 32 cái như là một xâu nhị phân
có chiều dài 32, trong đó răng còn ứng với bit 1 và răng mất ứng với bit 0, thì
có tất cả 2
32
= 4.294.967.296 hàm răng khác nhau. Trong khi đó số người trên

hành tinh này là vượt quá 5 tỉ, nên theo nguyên lý Dirichlet ta có điều cần tìm.
1.4.2. Nguyên lý Dirichlet tổng quát:
Mệnh đề: Nếu có N đồ vật được đặt vào trong k hộp thì sẽ tồn tại một hộp
chứa ít nhất ]N/k[ đồ vật.
(Ở đây, ]x[ là giá trị của hàm trần tại số thực x, đó là số nguyên nhỏ nhất có
giá trị lớn hơn hoặc bằng x. Khái niệm này đối ngẫu với [x] – giá trị của hàm
sàn hay hàm phần nguyên tại x – là số nguyên lớn nhất có giá trị nhỏ hơn hoặc
bằng x.)
Chứng minh: Giả sử mọi hộp đều chứa ít hơn ]N/k[ vật. Khi đó tổng số đồ vật là
 k (]
N
k
[  1) < k
N
k
= N.
Điều này mâu thuẩn với giả thiết là có N đồ vật cần xếp.
Email: Website: WWW.BeautifulLife.Cwahi.net
12
Ví dụ 3:
1) Trong 100 người, có ít nhất 9 người sinh cùng một tháng.
Xếp những người sinh cùng tháng vào một nhóm. Có 12 tháng tất cả. Vậy
theo nguyên lý Dirichlet, tồn tại một nhóm có ít nhất ]100/12[= 9 người.
2) Có năm loại học bổng khác nhau. Hỏi rằng phải có ít nhất bao nhiêu sinh viên
để chắc chắn rằng có ít ra là 6 người cùng nhận học bổng như nhau.
Gọi N là số sinh viên, khi đó ]N/5[ = 6 khi và chỉ khi 5 < N/5  6 hay 25
< N  30. Vậy số N cần tìm là 26.
3) Số mã vùng cần thiết nhỏ nhất phải là bao nhiêu để đảm bảo 25 triệu máy
điện thoại trong nước có số điện thoại khác nhau, mỗi số có 9 chữ số (giả sử số
điện thoại có dạng 0XX - 8XXXXX với X nhận các giá trị từ 0 đến 9).

Có 10
7
= 10.000.000 số điện thoại khác nhau có dạng 0XX - 8XXXXX. Vì
vậy theo nguyên lý Dirichlet tổng quát, trong số 25 triệu máy điện thoại ít nhất
có ]25.000.000/10.000.000[ = 3 có cùng một số. Để đảm bảo mỗi máy có một
số cần có ít nhất 3 mã vùng.
1.4.3. Một số ứng dụng của nguyên lý Dirichlet.
Trong nhiều ứng dụng thú vị của nguyên lý Dirichlet, khái niệm đồ vật và
hộp cần phải được lựa chọn một cách khôn khéo. Trong phần nay có vài thí dụ
như vậy.
Ví dụ 4:
1) Trong một phòng họp có n người, bao giờ cũng tìm được 2 người có số người
quen trong số những người dự họp là như nhau.
Số người quen của mỗi người trong phòng họp nhận các giá trị từ 0 đến n 
1. Rõ ràng trong phòng không thể đồng thời có người có số người quen là 0 (tức là
không quen ai) và có người có số người quen là n  1 (tức là quen tất cả). Vì vậy
theo số lượng người quen, ta chỉ có thể phân n người ra thành n 1 nhóm. Vậy
theo nguyên lý Dirichlet tồn tai một nhóm có ít nhất 2 người, tức là luôn tìm được
ít nhất 2 người có số người quen là như nhau.
Email: Website: WWW.BeautifulLife.Cwahi.net
13
2) Trong một tháng gồm 30 ngày, một đội bóng chuyền thi đấu mỗi ngày ít nhất
1 trận nhưng chơi không quá 45 trận. Chứng minh rằng tìm được một giai đoạn
gồm một số ngày liên tục nào đó trong tháng sao cho trong giai đoạn đó đội chơi
đúng 14 trận.
Gọi a
j
là số trận mà đội đã chơi từ ngày đầu tháng đến hết ngày j. Khi đó
1  a
1

< a
2
< < a
30
< 45
15  a
1
+14 < a
2
+14 < < a
30
+14 < 59.
Sáu mươi số nguyên a
1
, a
2
, , a
30
, a
1
+ 14, a
2
+ 14, , a
30
+14 nằm giữa 1 và 59. Do
đó theo nguyên lý Dirichlet có ít nhất 2 trong 60 số này bằng nhau. Vì vậy tồn tại i
và j sao cho ai = aj + 14 (j < i). Điều này có nghĩa là từ ngày j + 1 đến hết ngày i
đội đã chơi đúng 14 trận.
3) Chứng tỏ rằng trong n + 1 số nguyên dương không vượt quá 2n, tồn tại ít nhất
một số chia hết cho số khác.

Ta viết mỗi số nguyên a
1
, a
2
, , a
n+1
dưới dạng a
j
=
j
k
2
q
j
trong đó k
j
là số
nguyên không âm còn q
j
là số dương lẻ nhỏ hơn 2n. Vì chỉ có n số nguyên dương
lẻ nhỏ hơn 2n nên theo nguyên lý Dirichlet tồn tại i và j sao cho q
i
= q
j
= q. Khi đó
a
i
=
i
k

2
q và aj =
j
k
2
q. Vì vậy, nếu k
i
 k
j
thì a
j
chia hết cho a
i
còn trong trường
hợp ngược lại ta có a
i
chia hết cho a
j
.
Thí dụ cuối cùng trình bày cách áp dụng nguyên lý Dirichlet vào lý thuyết
tổ hợp mà vẫn quen gọi là lý thuyết Ramsey, tên của nhà toán học người Anh.
Nói chung, lý thuyết Ramsey giải quyết những bài toán phân chia các tập con của
một tập các phần tử.
Ví dụ 5. Giả sử trong một nhóm 6 người mỗi cặp hai hoặc là bạn hoặc là thù.
Chứng tỏ rằng trong nhóm có ba người là bạn lẫn nhau hoặc có ba người là kẻ thù
lẫn nhau.
Giải: Gọi A là một trong 6 người. Trong số 5 người của nhóm hoặc là có ít
nhất ba người là bạn của A hoặc có ít nhất ba người là kẻ thù của A, điều này suy
ra từ nguyên lý Dirichlet tổng quát, vì ]5/2[ = 3. Trong trường hợp đầu ta gọi B,
C, D là bạn của A. nếu trong ba người này có hai người là bạn thì họ cùng với A

lập thành một bộ ba người bạn lẫn nhau, ngược lại, tức là nếu trong ba người B, C,
Email: Website: WWW.BeautifulLife.Cwahi.net
14
D không có ai là bạn ai cả thì chứng tỏ họ là bộ ba người thù lẫn nhau. Tương tự
có thể chứng minh trong trường hợp có ít nhất ba người là kẻ thù của A.
2. Chỉnh hợp
2.1 Chỉnh hợp không lặp
2.1.1 Khái niệm
Cho tập hợp A gồm n phần tử, giả sử k là một số tự nhiên thỏa mãn 1 ≤ k ≤ n. Mỗi
cách sắp xếp k phần tử của tập A thành một dãy hở gọi là một chỉnh hợp không
lặp chập k của n phần tử.
2.1.2 Công thức tính
Kí hiệu
k
n
A
là số chỉnh hợp chập k của n phần tử ta có:
k
n
A
=n(n-1)(n-2)…(n-k+1) =
)!(
!
kn
n

Chứng minh:
Để xây dựng một chỉnh hợp không lặp, ta xây dựng từ thành phần đầu tiên.
Thành phần này có n khả năng chọn. Mỗi thành phần tiếp theo những khả năng
chọn giảm đi 1 (vì không được lấy lặp lại). Tới thành phần thứ k có n-k + 1 khả

năng chọn. Theo nguyên lý nhân ta có số chỉnh hợp
lặp k của tập hợp n phần tử ký hiệu là P(n, k) được tính theo công thức:
k
n
A
=n(n-1)(n-2)…(n-k+1) =
)!(
!
kn
n

2.1.3 Các ví dụ
Ví dụ 1. Tìm số hàm đơn ánh có thể xây dựng được từ tập k phần tử sang
tập n phần tử.
Giải: Số hàm đơn ánh từ tập k phần tử sang tập n phần tử chính là
k
n
A
Ví dụ 2. Giả sử có tám vận động viên chạy thi. Người về nhất sẽ được
nhận huy chương vàng, người về nhì nhận huy chương bạc, người về ba nhận
huy chương đồng. Hỏi có bao nhiêu cách trao huy chương nếu tất cả các kết cục
đều có thể xảy ra.
Giải: Số cách trao huy chương chính là số chỉnh hợp chập 3 của tập hợp 8
phần tử. Vì thế
Email: Website: WWW.BeautifulLife.Cwahi.net
15

3
8
A

= 8.7.6 = 336 cách trao huy chương.
Ví dụ 3. Có bao nhiêu cách chọn 4 cầu thủ khác nhau trong đội bóng
gồm 10 cầu thủ để
tham gia các trận đấu đơn.
Giải: Có
4
10
A
= 10.9.8.7 = 5040 cách chọn.
2.2 Chỉnh hợp có lặp
2.2.1 Khái niệm
Chỉnh hợp có lặp chập k của n phần tử là một cách sắp xếp có thứ tự k phần tử
của n phần tử, mỗi phần tử có thể lấy lặp lại.
2.2.2 Công thức tính
Kí hiệu:
k
n
A
là số chỉnh hợp lặp chập k của n phần tử ta có:
k
n
A
=n
k
Chứng minh:
Phần tử đẩu tiên của chỉnh hợp lặp có thể chọn có n cách, vì tập có n phần tử.
Phần tử thứ hai của chỉnh hợp lặp được chọn từ n của tập vì phần tử có thể
được lấy lặp lại, tức là có n cách chọn phần tử này.
Tương tự như thế ta có n cách chọn phần tử thứ 3…, có n cách chọn phần tử
thứ k.

=>Theo quy tắc nhân:
k
n
A
=n
k
2.2.3 Các ví dụ:
Ví dụ 1. Tính số hàm từ tập có k phần tử vào tập có n phần tử.
Giải: Biểu diễn mỗi hàm bằng một bộ k thành phần, trong đó thành phần
thứ i là ảnh của phần tử thứ i (1<=i<=k). Mỗi thành phần được lấy ra từ một
trong n giá trị. Từ đó suy ra số hàm là số bộ k thành phần lấy từ n thành phần
bằng n
k
.
Ví dụ 2. Từ bảng chữ cái tiếng Anh có thể tạo ra được bao nhiêu xâu có độ
dài n.
Giải: Bảng chữ cái tiếng Anh gồm 26 kí tự [‘A’ ’Z’], số các xâu có độ dài
n được chọn từ
26 chữ cái chính là chỉnh hợp lặp n của 26 phần tử và bằng 26
n
.
Ví dụ 3. Tính xác xuất lấy ra liên tiếp được 3 quả bóng đỏ ra khỏi bình kín
Email: Website: WWW.BeautifulLife.Cwahi.net
16
chứa 5 quả đỏ, 7 quả xanh nếu sau mỗi lần lấy một quả bóng ra lại bỏ nó trở lại
bình.
Giải: Số kết cục có lợi để ta lấy ra liên tiếp 3 quả bóng đỏ là 5
3
vì có 5 quả
đỏ ta phải lấy 3 quả (chú ý vì có hoàn lại). Toàn bộ kết cục có thể để lấy ra ba quả

bóng bất kỳ trong 12 quả bóng là 12
3
. Như vậy, xác suất để có thể lấy ra 3 quả
bóng đỏ liên tiếp là 5
3
/12
3
.
3. Hoán vị
3.1 Hoán vị ( Không lặp)
3.1.1 hái niệm
Cho tập hợp A gồm n phần tử. Mỗi cách sắp xếp n phần tử này thành một dãy
(không kín gồm n phần tử đó) gọi là một hoán vị của tập hợp A.
3.1.2 Công thức tính
Kí hiệu P
n
là số các hoán vị của n phần tử ta có: P
n
= n!
Chứng minh:
Ta chứng minh công thức này dựa trên nguyên lý nhân. Xét công việc xây
dựng một hoán vị của n vật ban đầu. Công việc này được chia thành các bước
sau:
- Bước 1: Chọn vật đứng đầu: có n cách chọn (n vật đều có thể đứng
đầu)
- Bước 2: Chọn vật đứng thứ hai: có n-1 cách chọn (do đã chọn vật
đứng đầu
nên bây giờ ta chỉ còn n-1 vật )
- …
- Bước n: Chọn vật còn lại cuối cùng: chỉ có 1 cách duy nhất.

Như vậy theo nguyên lý nhân, số cách xây dựng hoán vị, cũng chính là số các
hoán
vị của n vật ban đầu là n.(n-1)…2.1 = n!.
3.1.3 Các ví dụ
Ví dụ 1. Có 6 người xếp thành hàng để chụp ảnh. Hỏi có thể bố trí chụp
được bao nhiêu kiểu khác nhau.
Giải: Mỗi kiểu ảnh là một hoán vị của 6 người. Do đó có 6! = 720 kiểu
ảnh khác nhau có thể chụp.
Email: Website: WWW.BeautifulLife.Cwahi.net
17
Ví dụ 2. Cần bố trí thực hiện n chương trình trên một máy tính. Hỏi có bao
nhiêu cách bố trí khác nhau.
Giải: Số chương trình được đánh số từ 1, 2, , n. Như vậy, số chương
trình cần thực hiện trên một máy tính là số hoán vị của 1, 2, , n.
Ví dụ 3. Một thương nhân đi bán hàng tại tám thành phố. Chị ta có thể bắt
đầu hành trình của mình tại một thành phố nào đó nhưng phải qua 7 thành phố
kia theo bất kỳ thứ tự nào mà chị ta muốn. Hỏi có bao nhiêu lộ trình khác nhau
mà chị ta có thể đi.
Giải: Vì thành phố xuất phát đã được xác định. Do vậy thương nhân có thể
chọn tuỳ ý 7 thành phố còn lại để hành trình. Như vậy, tất cả số hành trình của
thương nhân có thể đi qua là 7! = 5040 cách.
3.2 Hoán vị có lặp
3.2.1 Khái niệm
Cho s phần tử khác nhau a
1
, a
2
,…, a
s
Một chỉnh hợp có lặp chập m của s phần tử

đã cho, trong đó có k
1
phần tử a
1,
k
2
phần tử a
2,
…, k
s
phần tử a
s
được gọi là một
hoán vị lặp cấp m (m= k
1
+k
2
+…+ k
a
) và có kiểu (k
1
, k
2
,…,k
s
) của s phần tử.
3.2.2 Công thức tính
C
m
(k

1
, k
2
,…,k
s
)=
!! !
!
21
kkk
s
m
Chứng minh:
Đầu tiên, nếu xem như n phần tử là khác nhau, ta có m! hoán vị. Tuy
nhiên do có k
1
phần tử a
1
giống nhau, nên ứng với một hoán vị ban đầu, nếu
ta hoán vị k
1
phần tử này (có k
1
! hoán vị như vậy) ta vẫn được hoán vị đó.
Chính vì vậy thực chất k
1
! hoán vị kiểu này chỉ là một hoán vịdo đó
số hoán vị thực sự khác nhau nếu có k
1
phần tử a

1

!
!
1
k
m
tiếp theo
ta lại có k
2
phần tử a
2
khác nhau lên số hoán vị thực sự khác nhau bây giờ là
!!
!
21
kk
m
, Cứ tiếp tục như vậy cho đến phần tử a
s
ta sẽ có công thức cần chứng
minh.
3.2.3 Các ví dụ
Email: Website: WWW.BeautifulLife.Cwahi.net
18
Ví dụ: Bao nhiêu cách chọn 22 cầu thủ để tham dự đội tuyển bóng đá Việt Nam từ
danh sách 30 cầu thủ đề cử ? Bao nhiêu cách chọn ra một danh sách có thứ tự 11
cầu thủ để thi đấu ?
Lời giải: +Có P(22, 11) cách chọn danh sách có thứ tự 11 cầu thủ từ 22 cầu thủ
trong đội.

+Có C(30, 22) cách chọn ra 22 cầu thủ từ danh sách đề cử 30 cầu thủ.
Ví dụ: Từ bảng chữ cái tiếng Anh có thể tạo ra bao nhiêu chuỗi có độ dài n ?
Lời giải: 26n (dùng quy tắc nhân)
Nhận xét: Ở đây có sự tương tự như chỉnh hợp (có thứ tự), nhưng cho phép sự lặp
lại của các chữ cái.
Số các chỉnh hợp lặp chập r từ tập n phần tử bằng n
r
Ví dụ: Có bao nhiêu chuỗi khác nhau bằng cách sắp xếp lại các chữ
cái SUCCESS ?
Lời giải: Không thể là hoán vị của 7 chữ cái v. có sự lặp lại.
ó 3 chữ S, 2 chữ C, 1 chữ U, 1 chữ E
ó Có C(7, 3) cách chọn chỗ cho 3 chữ cái S. Có C(4, 2) cách chọn
chỗ cho 2 chữ cái C. Có C(2, 1) cách chọn chỗ cho 1 chữ U. Có
C(1, 1) cách chọn chỗ cho 1 chữ E.
Theo quy tắc nhân ta có số chuỗi là:
C(7, 3)C(4, 2)C(2, 1)C(1, 1) = 420
3.2.4 Những hoán vị đặc biệt
 Một hoán vị "đổi chỗ" phần tử thứ nhất với phần tử thứ nhất, phần tử thứ
hai với phần tử thứ hai, , nghĩa là trên thực tế không đổi chỗ các phần tử,
được gọi là phép hoán vị đồng nhất.
 Nếu có một hoán vị P, chúng ta có thể mô tả một hoán vị P
−1
, làm mất tác
dụng của việc áp dụng phép P. Nghĩa là, áp dụng phép P rồi đến P
−1
cho kết
quả giống như áp dụng phép hoán vị đồng nhất. Chúng ta luôn có một hoán
Email: Website: WWW.BeautifulLife.Cwahi.net
19
vị như vậy vì một hoán vị là một phép song ánh. Hoán vị như vậy được gọi

là hoán vị nghịch đảo.
 Chúng ta có thể định nghĩa tích của hai hoán vị. Nếu chúng ta có hai hoán
vị, P và Q, kết qủa của việc áp dụng P rồi đến Q sẽ giống như việc áp dụng
một hoán vị R nào đó. Lưu ý rằng R có thể chính là P hoặc Q. Tích của P
và Q được định nghĩa bằng hoán vị R. Chi tiết hơn, có thể đọc nhóm đối
xứng và nhóm hoán vị.
 Một hoán vị chẵn là một hoán vị có thể biểu diễn dưới dạng tích của một số
chẵn các phép chuyển vị, như vậy hoán vị đồng nhất là một hoán vị chẵn
bởi vì nó bằng (1 2)(1 2). Một hoán vị lẻ là một hoán vị có thể biểu diễn
dưới dạng tích của một số lẻ các phép chuyển vị. Có thể chứng tỏ rằng mỗi
hoán vị hoặc là chẵn, hoặc là lẻ và không thể có cả hai tính chất này.
 Chúng ta cũng có thể biểu diễn hoán vị dưới dạng ma trận - ma trận kết qủa
được gọi là ma trận hoán vị.
3.2.5 Hoán vị của tập hợp có các phần tử giống nhau.
Trong bài toán đếm, một số phần tử có thể giống nhau. Khi đó cần phải cẩn
thận, tránh đếm chúng hơn một lần. Ta xét thí dụ sau.
Ví dụ :Có thể nhận được bao nhiêu xâu khác nhau bằng cách sắp xếp lại các chữ
cái của từ SUCCESS?
Vì một số chữ cái của từ SUCCESS là như nhau nên câu trả lời không phải
là số hoán vị của 7 chữ cái được. Từ này chứa 3 chữ S, 2 chữ C, 1 chữ U và 1 chữ
E. Để xác định số xâu khác nhau có thể tạo ra được ta nhận thấy có C(7,3) cách
chọn 3 chỗ cho 3 chữ S, còn lại 4 chỗ trống. Có C(4,2) cách chọn 2 chỗ cho 2 chữ
C, còn lại 2 chỗ trống. Có thể đặt chữ U bằng C(2,1) cách và C(1,1) cách đặt chữ
E vào xâu. Theo nguyên lý nhân, số các xâu khác nhau có thể tạo được là:
3
7
C
.
2
4

C
.
1
2
C
.
1
1
C
=
7 4 2 1
3 4 2 2 1 1 1 0
! ! ! !
!. !. !. !. !. !. !. !
=
7
3 2 1 1
!
!. !. !. !
= 420.
Mệnh đề : Số hoán vị của n phần tử trong đó có n
1
phần tử như nhau thuộc loại 1,
n
2
phần tử như nhau thuộc loại 2, , và n
k
phần tử như nhau thuộc loại k, bằng
!! !.
!

21 k
nnn
n
.
Email: Website: WWW.BeautifulLife.Cwahi.net
20
Chứng minh. Để xác định số hoán vị trước tiên chúng ta nhận thấy có
1
n
n
C
cách
giữ n
1
chỗ cho n
1
phần tử loại 1, còn lại n - n
1
chỗ trống. Sau đó có
2
1
n
nn
C

cách đặt
n
2
phần tử loại 2 vào hoán vị, còn lại n - n
1

- n
2
chỗ trống. Tiếp tục đặt các phần tử
loại 3, loại 4, , loại k - 1vào chỗ trống trong hoán vị. Cuối cùng có
k
k
n
nnn
C
11



cách đặt n
k
phần tử loại k vào hoán vị. Theo quy tắc nhân tất cả các
hoán vị có thể là:
1
n
n
C
.
2
1
n
nn
C


k

k
n
nnn
C
11



=
!! !.
!
21 k
nnn
n
.
4. Tổ hợp
4.1 Tổ hợp không lặp
4.1.1 Khái niệm
Cho tập A gồm n phần tử, k là một số nguyên thỏa mãn 1 ≤ k ≤ n. Mỗi tập hợp
còn gồm k phần tử của tập A được gọi là một tổ hợp chập k của tập A gồm n phần
tử. ( Ta cũng có thể định nghĩa theo cách khác: Tổ hợp chập k của n phần tử là
một cách chọn không phân biệt thứ tự k phần tử lấy từ tập n phần tử đã cho, mỗi
phần tử không được lấy lặp lại).
Ví dụ: Từ tập A={1,2,3} ta có các tổ hợp chập 2 của A là (1,2), (1,3), (2,3)
4.1.2 Công thức tính
Kí hiệu
k
n
C
là số tổ hợp chập k của n phần tử, ta có

k
n
C
=
)!(!
!
knk
n

Chứng minh:
Ta dễ thấy rằng sự khác nhau giữa tổ hợp và chỉnh hợp chỉ là vấn đề có xét đến
hay không xét đến thứ tự của các phần tử được chọn. Đối với tổ hợp, ta không xét
đến yếu tố thứ tự điều đó có nghĩa nếu hoán vị k phần tử được chọn một cách tùy
ý thì tổ hợp của chúng ban đầu cũng không thay đổi. Do đó ta có công thức:
Email: Website: WWW.BeautifulLife.Cwahi.net
21
k
n
C
=
k
n
Ak
n
!
!
=>
k
n
C

=
)!(!
!
knk
n

4.1.3 Các ví dụ:
Ví dụ 1. Trong 1 lớp học có 20 HS nam và 15 HS nữ. Thầy giáo cần 4HS nam
và 3 HS nữ đi tham gia chiến dịch "Mùa hè xanh" của Đoàn. Hỏi có bao nhiêu
cách?
Giải: Ta có cách chọn 4 HS nam trong số 20 HS
nam và có cách chọn 3 HS nữ trong số 15 HS nữ. Theo quy
tắc nhân, số cách chọn cần tìm là: 4845.455=2204475 cách chọn
Ví dụ 2. Lớp có 70 sinh viên, trong đó có 40 nam và 30 nữ, hỏi có bao nhiêu
cách chọn ngẫu nhiên 10 sinh viên nam và 10 sinh viên nữ đi dự đại hội sinh viên
của trường?
Giải: Số cách chọn 10 sinh viên nam trong số 40 sinh viên nam của lớp là một
tổ hợp chập 10 của 40 => có
10
40
C
cách chọn 10 sinh viên nam trong số 40 sinh
viên nam của lớp
Số cách chọn 10 sinh viên nữ trong số 30 sinh viên nữ của lớp là một tổ hợp
chập 10 của 30 => có
10
30
C
cách chọn 10 sinh viên nam trong số 30 sinh viên nữ
của lớp

Vậy theo quy tắc nhân, có
10
40
C
×
10
30
C
cách chọn 20 sinh viên theo yêu cầu.
4.2 Tổ hợp có lặp
4.2.1 Khái niệm
Cho tổ hợp A gồm n phần tử khác nhau, A={ a
1
,a
2
,…,a
n
}, m là một số tự nhiên
bất kì. Một tổ hợp có lặp chập m của n phần tử đã cho là một tập hợp chứa m phần
tử, trong đó mỗi phần thử là một trong n phần tử đã cho.
Ví dụ:
Cho A={2,3} các tổ hợp lặp chập 3 của A là (2,2,3), (2,3,3), (2,2,2), (3,3,3).
4.2.2 Công thức tính
Email: Website: WWW.BeautifulLife.Cwahi.net
22
Kí hiệu
m
n
C
là số tổ hợp có lặp chập m của n phần tử ta có:

m
n
C
=
m
nm
C
1
Chứng minh :
Mỗi tổ hợp lặp chập k của một tập hợp là một cách chọn không có thứ tự k phần
tử có thể lặp lại của phần tử đã cho.Như vậy một tổ hợp lặp kiểu này là một dãy
không kể thứ tự gồm k thành phần lấy từ tập n phần tử.Do đó có thể k>n
Mỗi tổ hợp lặp chập k từ tập n phần tử có thể biểu diễn bằng một dãy n-1 thanh
đứng và k ngôi sao.Ta dùng n-1 thanh đứng để phân cách các ngăn.Ngăn thứ i
chứa thêm một ngôi sao mỗi lần khi phần tử thứ i của tập xuất hiện trong tập
hợp.Chẳng hạn,tổ hợp lặp chập 6 của 4 phần tử được biểu thị bởi:
**| *| |***
Mô tả tổ hợp chứa đúng hai phần tử thứ nhất,một phần tử thứ hai,không có phần
tử thứ ba và 3 phần tử thứ tư của tập hợp
Mỗi dãy n-1 thanh và k ngôi sao ứng với một xâu nhị phân độ dài n+k-1 với k
số 1.Do đó số các dãy n-1 thanh đứng và k ngôi sao chính là số tổ hợp chập k từ
tập n+k-1 phần tử.
4.2.3 Các ví dụ:
Ví dụ 1.Có bao nhiêu cách chọn 5 tờ giấy bạc từ một két đựng tiền gồm những tờ
1000đ, 2000đ, 5000đ, 10.000đ, 20.000đ, 50.000đ, 100.000đ.Giả sử thứ tự mà các
tờ tiền được chọn là không quan trọng,các tợ tiền cùng loại là không phân biệt và
mỗi loại có ít nhất 5 tờ.
Giải: Vì ta không kể tới thứ tự chọn tờ tiền và vì ta chọn đúng 5 lần,mỗi lần lấy
một từ 1 trong 7 loại tiền nên mỗi cách chọn 5 tờ giấy bạc này chính là một tổ hợp
lặp chập 5 từ 7 phần tử.Do đó số cần tìm là C

5
7+5-1
=462.
Víd ụ2. “Tìm số nghiệm nguyên không âm của phương trình sau:
x
1
+ x
2
+ x
3
= 10”.
Giải:
Đối với bài toán này, nếu đặt x
1
là số bánh được cho vào hộp 1, x
2
là số
bánh được cho vào hộp 2 và x
3
là số bánh được cho vào hộp 3 thì bài toán trên
trở
thành “có bao nhiêu cách cho 10 cái bánh giống nhau vào trong 3 cái hộp
khác nhau” và kết quả cần tìm là
Email: Website: WWW.BeautifulLife.Cwahi.net
23
Ví dụ 3.
“Một người Mẹ có 4 đứa con. Một ngày nọ, người Mẹ có 20 cái kẹo và muốn
chia cho 4 đứa con sao cho mỗi đứa được ít nhất 2 cái kẹo. Hỏi có bao nhiêu cách
chia như vậy?”.
Rõ ràng là cách đặt vấn đề ở đây cũng giống như việc ta cho 20 cái bánh

giống nhau vào trong 4 cái hộp khác nhau sao cho mỗi cái hộp có ít nhất 2 cái
bánh. Rõ ràng là ta không thể áp dụng ngay công thức đã biết vì nếu như vậy thì
sẽ có rất nhiều trường hợp sẽ có hộp có ít hơn 2 bánh (thậm chí là có thể không
có cái bánh nào). Để giải quyết trường hợp này, ta sẽ cho vào mỗi hộp hai cái
bánh trước, sau đó mới chia 12 cái bánh còn lại một cách tự do vào 4 cái hộp,
như vậy số cách chia thỏa mãn yêu cầu ban đầu là: cách.
Email: Website: WWW.BeautifulLife.Cwahi.net
24
Chương trình cài đặt bài toán liệt kê các hoán vị khác nhau
của thuật toán trong chuỗi S cho trước:
program hoanvilap;
uses crt;
var
s:string;
sign:array[1 255] of Boolean;{Dung de danh dau}
b:array[1 255] of char;{Dung de luu tam cac hoan vi cho viet ra man hinh}
n:byte;{ Luu chieu dai cua xau}
counter: longint;{ Dung de dem so hoan vi}
Function ok(k:byte):boolean;{ Kiem tra xem co phan tu nao giong phan tu dang xet
va co vi tri xuat dung truoc phan tu dang xet trong xau hay khong}
var
j:byte;
begin
ok:=true;
for j:=1 to k-1 do
if (s[k]=s[j]) and (not sign[j]) then
begin
ok:=false;
break;
end;

end;
Procedure confirm;{Xac nhan hoan vi moi va viet ra man hinh}
var
i:byte;
begin
inc(counter);
write(' ');
for i:=1 to n do write(b[i]);
writeln;
end;
procedure try(i:byte);
var
Email: Website: WWW.BeautifulLife.Cwahi.net
25
j:byte;
begin
for j:=1 to n do {Tap de cu}
if (not(sign[j])) and (ok(j)) {Hai dieu kien de chap nhan s[j]}
then
begin
sign[j]:=true;{Danh dau da su dung}
b[i]:=s[j];
if i=n then confirm else try(i+1);
sign[j]:=false;{Tra lai trang thai chua duoc su dung}
end;
end;
procedure start;{Bat dau chuong trinh}
begin
writeln;
writeln;

writeln(' CHUONG TRINH LIET KE CAC HOAN VI CUA CAC KI TU TRONG
CHUOI');
writeln;
writeln(' Mon hoc: Toan Roi Rac');
writeln;
writeln(' Nhom II');
writeln;
writeln;
write(' Type a string:'); readln(s); {Nhap vao xau ki tu}
writeln;
writeln(' List:');
writeln;
writeln(' ***********');
n:=length(s);
counter:=0;
fillchar(sign,sizeof(sign),0);
fillchar(b,sizeof(b),0);
writeln;
end;
(*============================= Main ========================*)
Begin
clrscr;
start;
try(1);
readln;
End.

×