0% found this document useful (0 votes)
13 views

Practice Content - Programming Techniques

The document contains instructions for several programming problems and exercises involving strings, arrays, trees, and other data structures. It asks the reader to write functions to: - Count the number of prime numbers and characters in strings - Find the maximum, minimum, sum and average of elements in arrays and matrices - Traverse and manipulate binary search trees - Sort and manipulate linked lists - Read and write data to text files The problems cover basic topics in programming with data structures and algorithms in C/C++. Solutions are to be written as functions and input/output is to be done through text files.

Uploaded by

Thuận Vũ
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Practice Content - Programming Techniques

The document contains instructions for several programming problems and exercises involving strings, arrays, trees, and other data structures. It asks the reader to write functions to: - Count the number of prime numbers and characters in strings - Find the maximum, minimum, sum and average of elements in arrays and matrices - Traverse and manipulate binary search trees - Sort and manipulate linked lists - Read and write data to text files The problems cover basic topics in programming with data structures and algorithms in C/C++. Solutions are to be written as functions and input/output is to be done through text files.

Uploaded by

Thuận Vũ
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

1.

K thu t l quy

Cho s n.
a. S=1+2+3+...+n
b. S=12+22+32+...+n2
c. Tính t ng s = 1 + 1×2 + 1×2×3 +... +1×2×3×...×n.
d. Tính t ng S = 1× × × ×(n+1)×...×(2n).
Dãy s xn
x x
xn=xn-1 + (n-1) xn-2 v i n
a. Tính x7.
b.
c. Vi t hàm tính xn b ng cách s d quy.
d. Vi t hàm tính xn b ng cách không s d quy.
Cho hai dãy s {xn},{yn ; và n u n xn},{yn c cho
theo quy lu t sau:

a. Hãy tính x3 và y3
b. Vi t hàm tính xn,yn b ng cách s d qui.
c. Vi t hàm tính xn,yn b ng cách không s d d ng bi n m ng.
Yêu c u thu ph c t p là O(n).
Cho f1=1; f2=1; và fn=fn-1+ fn-2 v i m i n > 2. Hãy tính:

(v i n là s

a. Hãy tính S5
b. Vi t hàm tính Sn b ng cách s d qui (fn c vi qui).
c. Vi t hàm tính Sn b ng cách không s d n m ng (fn
c vi t không s d n m ng).
Dãy xn

a. Tính x7.
b. Vi t hàm tính giá tr c a xn.
Dãy s xn
a. Tính x7.
b. Vi t hàm tính giá tr c a xn.
Cho m ng m t chi u g m n s nguyên. S d quy vi t các hàm sau:
a. Tính t ng các ph n t
b. Tìm giá tr l n nh t
c. m s nguyên t trong m ng
H s nh th c
=1, =1; v i m i n
= + ; v i 0<k<n.
a. Tính h s nh th c
b. L p tam giác Pascal có chi u cao h.
6
Cho dãy n s nguyên và m t s nguyên k v k<n và (n ). Hãy chuy n k ph n
t u dãy v cu i dãy. Yêu c u không dùng m ng trung gian.
Ví d :
n=9; k=3

K t qu :

Cho a là s th c, n là s nguyên không âm. Tính an


Gi s có 3 c c A, B, C ut iA tm ts i th t i
to.
Yêu c u c a bài toán là chuy n toàn b s c C, trong quá trình chuy n
c phép s d ng c c B, m i l n chuy m nguyên t
nh n n trong su t quá trình chuy ng th i s l n di chuy
nh t.

. K thu t l p trình con tr

Cho m ng m t chi u ch a n s nguyên. Xóa ph n t t i v trí k.


Cho m ng m t chi u ch a n s nguyên. Chèn s nguyên x vào v trí k.
Cho m ng m t chi u ch a n nguyên . Hãy xóa các s nguyên t trong m ng.
Trong k thi t t nghi i h c có n thí sinh d thi tham d . M i thí sinh c n qu n lý
c mô t
- Mã s sinh viên
- H và tên
- n
- m môn chuyên ngành 1
- m môn chuyên ngành 2
a. Hãy khai báo ki u d li trên. Nh p thông tin cho n thí sinh.
b. Xu t danh sách v i các thông tin g m t ng 3 môn.
c. Tìm nh ng thí sinh có ít nh t m m nh
d. Tìm nh ng thí sinh có t m ba môn thi l n nh t.
e. S p x p danh sách theo chi u t n.
Nh p m cg mn c, m c bi t h s và s Tính giá tr c a
c t i x=x0.(v i n là s nguyên không âm, các h s và x là s th c, s
nguyên không âm).
*
Cho m t danh sách l cc ng; m i ph n t là m t s nguyên.
a. Tính t ng các ph n t l.
b. m s nhuyên t trong danh sách
c. ms ng s ch n, s ng s l .
d. Tìm giá tr l n nh t
e. Xóa ph n t u danh sách.
f. Xóa các ph n t ch a s nguyên t trong danh sách l.
g. Chèn vào sau m i nút m t nút m c a nút m i b ng t ng các ch s
c as k c nó.
h. Tìm ph n t x trong danh sách l (tr v 0/1)
i. S p x p các ph n t c a danh sách l theo chi n (yêu c u th c hi n b ng
n tr c ti i vùng liên k t)
j. Tách danh sách l thành 2 danh sách l1,l2 l1,l2 l n l t ch a các s l , các s
ch n c a l.
*
Cho nh phân tìm ki m, m i nút ch a m t s nguyên. Vi t các hàm:
a. : Hãy chèn nút có giá tr k vào cây có g c là root; t o cây có g c là root;
các hàm duy t cây
b. Tính t ng giá tr c a các nút trong cây
c. Tìm giá tr l n nh t c a cây
d. m s nút c a cây
e. m s nút lá c a cây
f. ms t cây con
g. m s nút có hai cây con
h. m xem có bao nhiêu nút có giá tr nguyên t ?
i. Tìm ki m nút có giá tr x trên cây nh phân tìm ki m (tr v con tr , tr v 0 ho c 1)
j. g n nút có giá tr x.
k. Tìm m c c a nút có giá tr là x
l. Tìm chi u cao c a m t cây.

K thu t l p trình ký t và chu i ký t

s
s

a.
b.
c.
d. s.
e. s.
f.
Tìm m t t dài nh t c a chu i s.
Ki m tra xem chu i x có thu c v chu i s hay không ? N u không tr v -1, n u có tr
v v u tiên mà chu i x xu t hi n trong chu i s.
m xem chu i x xu t hi n bao nhiêu l n trong chu i s ?
Cho chu i s. Hãy xóa l ký t t v trí p c a chu i s.
Cho hai chu i s1,s2. Hãy chèn s2 vào v trí p c a chu i s1 (v trí c a các ký t trong
chu i tính t 0).
Cho chu i s, hãy thay th các chu i con x trong s b i chu i y i s,x,y,
c nh p t bàn phím.
T có k ký t c g i là t lo i k (gi thi t k=1..7). H i t lo i nào xu t hi n nhi u
l n nh t; xu t hi n bao nhiêu l n (ch c n tìm m t k t q a th a yêu c u).
Cho m t danh sách g m 2 thông tin: s báo danh, h c tách
riêng). Hãy s p x n theo c t tên.

. K thu t l p trình v i f n

Hãy vi trình hoàn ch nh th c hi n bài toán sau:


Cho dãy n s a1,a2 an.
a. m xem dãy a1,a2 an ch a bao nhiêu s nguyên t ?
b. Hãy s p x p các ph n t c a dãy a1,a2 an theo th t n.
D li c cho t n NUM.INP có c
- u ch a s n
-Dòng th hai ch a n s nguyên a1,a2 an.
K t qu n NUM.OUT g m 2 dòng, m i dòng ghi k t qu ng v i
m i câu trên.
Ví d :
NUM.INP

NUM.OUT

Hãy vi hoàn ch nh th c hi n bài toán sau:


Cho dãy n s nguyên a1,a2 an và s nguyên m.
a. Tìm giá tr l n nh t c a dãy a1,a2 an.
b. Tìm chi u dài c a dãy con liên ti t, t c là ch a nhi u ph n t nh t.
c. m xem dãy a1,a2 an có bao nhiêu c p s có t ng b ng m x,y) và (y,x)
m là m t c p.
d. Tìm giá tr trung v c a dãy s trên (s trung v c a dãy s là s n m v trí a[n/2]
c a dãy sau khi s p x p dãy).
D li c cho t n NUM.INP có c
- u ch a hai s n và m
-Dòng th hai ch a n s nguyên a1,a2 an.
K t qu n NUM.OUT g m 4 dòng, m i dòng ghi k t qu ng v i
m i câu trên.
Cho m ng hai chi u a có m dòng và n c t (m,n 200); các ph n t là các s nguyên
nh th c hi n các công vi c sau:
a. m xem m ng có bao nhiêu s nguyên t ?
b. Cho bi t giá tr l n nh t trong s các t ng các ph n t trên m i dòng.
c. Cho bi t giá tr nh nh t trong s các t ng các ph n t trên m i c t.
D li c cho t
u ghi 2 s m,n
+Trong m dòng ti p theo m i dòng ghi n s ; m i s cách nhau ít nh t m t kho ng
tr ng.
K t qu n table.out g m dòng; m i dòng ghi k t qu c a m i câu
ng.
Ví d :
table.inp

table.out

Cho m ng hai chi u a có m dòng và n c t (m,n 200); các ph n t là các s nguyên


nh th c hi n các công vi c sau:
a. Tìm giá tr l n nh t c a m ng. Có bao nhiêu s b ng giá tr l n nh t ?
b. Tìm t ng các ph n t trên m i c t.
c. Tìm hình vuông con 2 × 2 ch ch a s nguyên t và t ng c a 4 s n
nh t. Xu t t ng l n nh c.
D li c cho t
u ghi 2 s m,n
+Trong m dòng ti p theo m i dòng ghi n s ; m i s cách nhau ít nh t m t kho ng
tr ng.
K t qu n table.out g m dòng; m i dòng ghi k t qu c a m i câu
ng.
Ví d :
table.inp
table.out

Trong toán h c th ng kê, s trung v c a m t dãy s (g m m t s l ph n t ) là s


ng gi a c a dãy s sau khi dãy s c s p theo th t n.
Bài toán: Cho b nguyên l ) mà dòng i c t j
c a b ng ch a s nguyên Rij v ij
Yêu c u: Tìm s trung v c a dãy các s t o b i dãy các s trung v c a các dòng c a
b ng.
D li u: Vào t t u là c a t p tin là s nguyên
l N, trên các dòng t n N+1, dòng i+1 ch a N s c a dòng i c a b ng vuông.
K t qu : Ghi ra t n MEDIUM.OUT m t s nguyên duy nh t là s trung
v c.

Gi i thích: S trung v c a các dòng l t là 5, 3, 5, 3, 4. S trung v c a dãy 5 3 5 3 4 là 4.


Cho t p tin input.txt ch a m t chu i ký t g m các ký t ch ng và các ký t
kho ng tr ng. Vi c chu i ký t và cho bi t t n su t xu t
hi n các ký t có trong t p tin input.txt (không k ký t kho ng tr ng).
K t qu c ghi trong t p tin output.txt theo mô t ví d sau:
input.txt
chao mung cac sinh vien khoa cong nghe thong tin
output.txt
a3c4e2g4h5i3k1m1n7o4s1t2u1v1
n str.inp ch a n chu i, m i chu i trên m t dòng, các chu i ch ch a
các ký t ch ng và ký t kho ng tr ng. M i chu i th u ki n sau:
-Có chi u dài t .
-Ch ch a các ký t ch ng và ký t kho ng tr ng.
- u chu i và cu i chu i không ch a ký t kho ng tr ng.
-Gi a các t có t ký t kho ng tr ng.
(xem c u trúc file str.inp ví d sau):
Hãy vi t m nh th c hi n các công vi c sau:
a. Tìm m t t bên ph i c a m i chu i.
b. m xem các chu i trên có t ng c ng bao nhiêu t ?
K t qu xu n str.out (xem c u trúc file str.out ví d sau):
Ví d :
str.inp

what good is money if it can not buy happiness


do not waste your time on a man who is not willing to waste their time on you
it is what is in yourself that makes you happy or unhappy
a true friend is someone who reaches for your hand and touches your heart
Cau a:
str.out
happiness
you
unhappy
heart
Cau b:

Cho m ng hai chi u a có m dòng và n c t (1 m,n 500); các ph n t là các s


nh th c hi n các công vi c sau (xem
m i yêu c c l p)
a.

b.

x,y x-y|.
c. b có m dòng n bij=aij × ki ki
b.
d.

aij

e. aij sao cho i


j

D li c cho t n TABLE
u ch a hai s m và n.
+Trong m dòng ti p theo m i dòng ch a n s ; các s cách nhau ít nh t m t kho ng tr ng.
K t qu n table.out; m i dòng ghi k t qu c a m i câu ng.
Ví d : (K t qu minh h a sau xem t t c các câu h u có cùng d li u vào t file
table.inp).
TABLE.INP
TABLE.OUT
CAU a: 19
CAU b: 3 1 3 2 4 // gi i thích thêm: c p s c t i v trí (dòng 1, c t 3) và (dòng 2, c t 4)
CAU c: 5502
CAU d: 399
CAU e: 35 3 1 // gi i thích thêm: giá tr yên ng a là 35; tìm th y t i v trí dòng 3, c t 1
Cho file STR.INP có nhi u chu i, m i chu i trên m t dòng. M i chu i ch a các ký t
ch ng ti ng Anh và kho ng tr ng, gi a các t t kho ng tr u
và cu i m i chu i không có kho ng tr ng. Hãy vi nh th c hi n
các công vi c sau (xem các yêu c c l p)
a. Tìm m t t dài nh t c a m i chu i trong file STR.INP.
b. Tìm m t chu i con ch a m t t bên trái và m t t bên ph i c a m i chu i trong file
STR.INP; gi a hai t trên có m t ký t kho ng tr ng.
c. Hãy tìm m t chu i dài nh t trong file STR.INP
d. m xem file STR.INP có t t c bao nhiêu t ?
e. m xem file STR.INP có bao nhiêu t
K t qu ghi vào file STR.OUT theo c a b test tham kh o sau.
Ví d : (K t qu minh h a sau xem t t c các câu h u có cùng d li u vào t file
str.inp).
STR.INP

what good is money if it can not buy happiness


do not waste your time on a man who is not willing to waste their time on you
it is what is in yourself that makes you happy or unhappy
a true friend is someone who reaches for your hand and touches your heart
STR.OUT
CAU a:
happiness
willing
yourself
someone
CAU b:
what happiness
do you
it unhappy
a heart
CAU c:
do not waste your time on a man who is not willing to waste their time on you
CAU d:
CAU e:

file nh phân
a. Vi t hàm nh p n h s và l các h s ày vào file nh phân hoso.dat (không l
n). M i h s g m các thông tin: mã s nhân viên [6], h và tên [32], l ng,
th c l nh (s nguyên int); trong ó th c l nh b ng l ng.
b. Vi t hàm c file trên, xu t các h s ên màn hình.
c. Tính t ng th c l nh c a t t c nhân viên.
d. Tìm nhân viên có m c l cao nh t.
e. Hãy cho bi t file hoso.dat ch a bao nhiêu h s
f. Hãy s p x p các h s ut n c a c t th c l nh; ghi k t qu s p x p vào
file v n hososx.txt

t s k thu t l p trình nâng cao

Thu t toán quy ho ng


T
Cho m t b ng A c m x n ô (b u t 1); m i ô ch a m t s nguyên. T ô A[i,j] ch
có th di chuy n sang m t trong 3 ô A[i,j+1], A[i-1,j+1] và A[i+1,j+1].
Yêu c u: Tìm v trí ô xu t phát t c t 1 sang c t n sao cho t ng các s
l n nh t. Yêu c u xu t giá tr t ng này.

ng d n gi i:
G i B[i,j] là giá tr l n nh t có th có khi di chuy n ô A[i,j]. Rõ ràng v i nh ng ô
c t 1 thì B[i,1]=A[i,1].
V i nh ng ô (i,j) các c t khác. Vì ch nh ng ô (i,j-1), (i-1,j-1), (i+1,j-1) là có th
c ô (i,j), và khi sang ô (i,j) thì giá tr c c ng thêm A(i,j) n a.
Chúng ta c n B[i,j] là s m l n nh t có th nên B[i,j]=max(B[i,j-1], B[i-1,j-1],
B[i+1,j-1])+A[i,j]. Ta dùng công th c truy h i này tính t t c các B[i,j].
Cu i cùng ch n ra B[i,n] là ph n t l n nh t trên c t n c a b ng B và t t
l n nh t.
TAM GIÁC S
Cho m t tam giác ch a các s nguyên không âm t n 99. Dòng th h c a tam giác
ch a h s (1<h<=1000).
M pl n ut nh c a tam giác xu nm tô
a tam giác; và t i m i ô dòng i ta ch có th n ô dòng i+1
theo cách: Ho c sang bên trái ho c sang bên ph i.
Yêu c u: Tìm m ng s n nh t; cho bi t t ng
s c.

DÃY CON CHUNG DÀI NH T*


Cho hai s M, N (0 < M, N <=100) và hai dãy s nguyên: A1,A2 AM và B1,
B2,..., BN.
Yêu c u: Tìm m t dãy C là con chung dài nh t c a hai dãy A và B, nh c t A b ng cách
ts s h ct Bb t s s h ng.
VÍ D
M=13;N=12

K t qu :

ng d n gi i:
C n xây d ng m ng L[0..M, 0..N] v L dài c a dãy chung dài nh t
c a hai dãy A[0.. i] và B[0..j].
u m t dãy là r ng (s ph n t ng, vì
v y L[0, j] = 0 j, j = 1.. N,
L[i, 0] = 0 i, i = 1.. M. V i M N L c tính theo công th c
truy h i sau:
L[i,j] = Max{L[i, j-1], L[i-1, j], L[i-1, j-1] + x} (v i x = 0 n u A B[j] , x=1 n u
A[i]=B[j])

Thu t toán quay lui*


Cho dãy g m n s nguyên. Tìm m t cách chia n s trên thành hai ph n sao cho t ng
các ph n t c a m i ph n chênh l ch nhau là ít nh ng d n: Áp d ng thu t toán
li t kê các dãy nh phân).
Cho dãy g m n s nguyên. Tìm các b k s có t ng b ng s c (k,m là các
s
Cho ma tr n vuông n x n; các ph n t là các s nguyên. Hãy ch n ra n s sao cho n s
này không cùng dòng, không cùng c t và có t ng l n nh t.
Bài toán li t kê t t c các cách x p n quân H u trên bàn c n n sao cho chúng không
cl chúng n m trên cùng
m t dòng hay m t c t hay m ng chéo c a bàn c .
n hay hành trình c a quân Mã là bài toán v vi c di chuy n m t quân Mã trên
bàn c Vua t m t ô trên m t bàn c tr ng nó ph i di chuy n
theo quy t c c a c i ô trên bàn c t l n. Hãy tìm m t hành
trình cho cho quân Mã (có r t nhi u l i gi
k t thúc t i chính ô mà nó kh u; m c g i là hành trình
t t t c 64 ô c a bàn c (k
c ô xu t phát), thì t ô cu i c a hành trình không th ô xu t phát ch b ng m t
c g i là hành trình m ).

Thu t toán tham lam

Có m t h i th o khoa h c t ch c v i 8 ch khác nhau ký hi u là: 1, 2, 3, 4,


5, 6, 7, 8. M i ch c di n ra trong m t bu sau không
c di ng th i trong cùng m t bu i: (1,2); (1,3); (1,4); (1,5); (1,7); (1,8);
(2,3); (2,5); (2,6); (3,4); (3,6); (4,5); (4,6); (4,7); (5,6); (5,8); (7,8).
H t
Ghi chú: Các bài t p ho c ch u * là n i dung sinh viên t nghiên c u.
TS.PTQ 2021

You might also like