Khi chuyn có th dùng ct trung gian B... quy gián ti p: Gi thi t Collatz Bài toán da trên khng nh gi thuy t Collatz là... Các con th không bao gi cht... Hai cách chn khác nhau nu tn t
Trang 1Bài 2: quy và GT quy
2.1 quy và gii thut quy
2.2 Thit k gii thut quy
2.3
2.4 Bài tp
Trang 22.1 quy và
Trang 3quy
Khái nim: Mt i tng là quy nu nó c nh
vi chính nó bng quy n p.
Phân lo i: Có 2 lo i i tng quy.
quy trc tip: i tng A c mô t trc tip qua
Trang 5Mô t quy
phc t p bng 1 s ít các thao tác (1 chng trình con
quy).
Mô t quy: gm 2 phn
Ph n neo: Mô t các trng hp suy bin c a i tng
(gi i thu t) qua 1 c u trúc (thao tác) c th xác nh
Ph n quy: Mô t i tng (gi i thu t) trong trng
hp ph bin thông qua chính i tng (gi i thu t) ó 1 cách trc tip ( quy tr c ti p) hoc gián tip ( quy gián ti p).
Chú ý: Nu không có ph n neo thì i tng c mô t
có c u trúc ln vô hn (gi i thu t l p không d ng)!
Trang 9M t s bài toán quy i n hình
Bài toán tìm nghim gn úng: ca phng trình f(x)=0
trên o n [a, b] vi sai s c , bit f(x) liên tc trên [a, b].
Bài toán “Tháp Hà Ni”: Chuyn mt chng a N a vi kích thc khác nhau t ct A sang ct C theo cách:
Mi l n ch chuyn 1 a
Khi chuyn có th dùng ct trung gian B
Trong sut quá trình chuyn, các chng a các ct luôn
c xp úng ( a có kích th c bé t trên a có kích
th c l n)
Bài toán “N quân Hu”: Xp N quân hu trên bàn c hình vuông kích thc N x N sao cho trên mi ng
Trang 10c i m hàm quy
Khái nim: mt chng trình con mô t gii thut
quy gi là chng trình con quy, hay hàm quy
Trang 12quy gián ti p: Gi thi t Collatz
Collatz a ra gi thuyt rng:
Trang 13quy gián ti p: Gi thi t Collatz
Bài toán ( da trên khng nh gi thuy t Collatz là
Trang 14quy gián ti p: Gi thi t Collatz
Trang 15quy gián ti p: Gi thi t Collatz
//In ra cách biu di!n s X
Trang 162.2 Thi t k gi i thu t quy
2.2.1 Hàm N!
2.2.2 Dãy s Fibonacci
2.2.3 Chú ý
Trang 20GT l p tính N!
Mô t không quy: bài toán N! có th mô t theo
cách không quy nh sau:
Trang 222.2.2 Dãy s Fibonacci
Khái nim: Dãy s Fibonacci b∀t ngun t bài toán c#
Dãy s Fibonacci là mô hình c a r t nhi&u hin tng t
nhiên và c!ng c s∋ dng nhi&u trong tin hc
Bài toán:
1 Các con th không bao gi cht
2 Hai tháng sau khi ra i, 1 cp th mi s sinh ra 1 cp
Trang 282.3 M t s d ng bài i n hình
2.3.1 Bài toán m 2.3.2 Bài toán lit kê 2.3.3 Bài toán ti u
Trang 29M t s d ng bài i n hình
Bài toán m: trong tp các i tng cho trc, có bao
nhiêu i tng th∃a mãn nh%ng iu kin nh&t nh.
Có bao nhiêu s nguyên t không ln hn N?
Bài toán lit kê: trong tp các i tng cho trc, lit
kê cu hình ca t&t c nh%ng i tng th∃a mãn nh%ng
iu kin nh&t nh.
Lit kê các s nguyên t không ln hn N?
Bài toán ti u: trong tp các i tng cho trc, tìm
c&u hình ca i tng th∃a mãn nh%ng iu kin nh&t
nh và là tt nht theo mt tiêu chí c th.
Tìm s nguyên t ln nh t trong các s nguyên t không
Trang 302.3.1 Bài toán m
Bài toán m: trong tp các i tng cho trc, có bao
nhiêu i tng th∃a mãn nh%ng iu kin nh&t nh.
Trang 312.3.1 Bài toán m
Bài toán: Xóa s ( OLP Không chuyên 2012 )
Cho dãy s nguyên không âm a1, a2, …, an Ngi ta
tin hành chn ra 2 ch s i, j sao cho 1 , i < j , n và xóa
khi dãy 2 s ai, aj tng giá tr các s còn li trong dãy là s ch n
Yêu c u: Cho dãy s a1, a2, …, an Hãy m s lng cách chn 2 ch s i, j tha mãn Hai cách chn khác nhau nu tn ti mt ch s khác nhau
D li u: vào t) file v−n b n DEL.INP:
− η ;( =
K t qu : a ra file v−n b n DEL.OUT m t s nguyên là
s cách ch n 2 ch s th a mãn
Trang 321 2 3 4 5
DEL.OUT DEL.INP
Trang 332.3.1 Bài toán m
B1: Xác nh bài toán
V n & c n gi i quyt: m s cách xóa các cp (ai, aj)
tng còn li là s ch∀n
Gi thit: có n s nguyên a1, a2, …, an
Yêu c u: s nguyên là s cách xóa
Trang 34ψ−3∋(ξ3ζ} ;ξ3.
ψ−ϕ∋3;ξϕζξϕ.
∼
ΑΑΛ∃473 ΑΑυ&
Trang 36%
Trang 372.3.2 Bài toán li t kê
Bài toán lit kê: trong tp các i tng cho trc, lit
kê cu hình ca t&t c nh%ng i tng th∃a mãn nh%ng
iu kin nh&t nh.
Bài toán li t kê c ng thu c l p bài toán m!
Trang 41Ph ng pháp sinh
Bài toán: Dãy s (OLP Không chuyên 2008)
Mt sinh viên Trng H K thu(t Công ngh ang
nghiên cu v& bài toán dãy s: tìm s An c a dãy A0, A1, A2,…, trong ó
22 10
9 8
7 6
5 4
3 2
1 0
A[ i ]
… 12
11 10
9 8
7 6
5 4
3 2
1 0
i
Trang 42Ph ng pháp sinh
Yêu c u: Cho s t nhiên n Hãy tìm An
D li u: vào t) file v−n b n NUMSEG.INP trong ó
cha duy nh t s n (0 η n η 500)
K t qu : ghi ra file v−n b n NUMSEG.OUT giá tr An
Ví d :
0 0
30 12
911 27
NUMSEG.OUT NUMSEG.INP
Trang 43Thu t toán quay lui
Ý tng: Xây dng c&u hình lit kê x[1 n] bng cách
th∋ t&t c các kh n(ng ca tng phn t∋ x[i].
Ch s∋ dng thu(t toán quay lui gi i các bài toán m,
ti u khi không còn la chn nào khác
Trang 44Thu t toán quay lui
Trang 45Thu t toán quay lui
Li t kê xâu nh phân dài N: t(p giá tr c a 1 ph n t∋
x[i] trong xâu là (0, 1)
Trang 462.3.3 Bài toán t i u
Bài toán ti u: trong tp các i tng cho trc, tìm
c&u hình ca i tng th∃a mãn nh%ng iu kin nh&t
Trang 47b) Minh ha quá trình tìm Acker(1, 2).
c) Vit 1 hàm quy tính giá tr c a hàm này và ch rõ 3
c im c ... data-page="16">
2. 2 Thi t k gi i thu t quy
2. 2.1 Hàm N!
2. 2 .2 Dãy s Fibonacci
2. 2.3 Chú ý
2. 3 M t s d ng i n hình
2. 3.1 Bài tốn m 2. 3 .2 Bài toán lit kê 2. 3.3 Bài toán ti u
Trang 29