of 54 /54
BÀI TẬP MINH HỌA MÔN TIN HỌC CƠ SỞ A1 Trang 1 ĐẠI HỌC QUỐC GIA TPHCM TRƢỜNG ĐH KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN TIN HỌC CƠ SỞ BÀI TẬP MINH HỌA HỌC PHẦN NHP MÔN LP TRÌNH Mục lục: Tuần 3. CÁC KHÁI NIỆM CƠ BẢN VỀ KỸ THUẬT LẬP TRÌNH ............................................. 2 Tuần 4. CÁC CẤU TRÚC LẬP TRÌNH - CẤU TRÚC CHỌN ...................................................... 6 Tuần 5. VÒNG LẶP WHILE ......................................................................................................... 11 Tuần 6. VÒNG LẶP FOR .............................................................................................................. 15 Tuần 7. CHƢƠNG TRÌNH CON ................................................................................................... 19 Tuần 8. CHƢƠNG TRÌNH CON (tt) ............................................................................................. 20 Tuần 9. KIỂU MẢNG MỘT CHIỀU VÀ MỘT SỐ KỸ THUẬT CƠ BẢN ................................. 22 Tuần 10. TÌM KIẾM VÀ SẮP XẾP TRÊN MẢNG MỘT CHIỀU ............................................... 27 Tuần 11. MẢNG 2 CHIỀU............................................................................................................. 32 Tuần 12. 13. KIỂU KÝ TỰ VÀ KIỂU CHUỖI ............................................................................. 39 Tuần 13. ĐỆ QUY .......................................................................................................................... 49

Bài tập nhập môn lập trình

Embed Size (px)

Text of Bài tập nhập môn lập trình

  • BI TP MINH HA MN TIN HC C S A1

    Trang 1

    I HC QUC GIA TPHCM

    TRNG H KHOA HC T NHIN

    KHOA CNG NGH THNG TIN

    B MN TIN HC C S

    BI TP MINH HA

    HC PHN NHP MN LP TRNH

    Mc lc:

    Tun 3. CC KHI NIM C BN V K THUT LP TRNH ............................................. 2

    Tun 4. CC CU TRC LP TRNH - CU TRC CHN ...................................................... 6

    Tun 5. VNG LP WHILE ......................................................................................................... 11

    Tun 6. VNG LP FOR .............................................................................................................. 15

    Tun 7. CHNG TRNH CON ................................................................................................... 19

    Tun 8. CHNG TRNH CON (tt) ............................................................................................. 20

    Tun 9. KIU MNG MT CHIU V MT S K THUT C BN ................................. 22

    Tun 10. TM KIM V SP XP TRN MNG MT CHIU ............................................... 27

    Tun 11. MNG 2 CHIU ............................................................................................................. 32

    Tun 12. 13. KIU K T V KIU CHUI ............................................................................. 39

    Tun 13. QUY .......................................................................................................................... 49

  • BI TP MINH HA MN TIN HC C S A1

    Trang 2

    Tun 3. CC KHI NIM C BN V K THUT LP TRNH

    CC BI TP C BN

    Bi tp 1:

    Vit chng trnh in ra cc dng ch sau y:

    1. In C, lowercase letters are significant.

    2. main is where program execution begins.

    3. Opening and closing braces enclose program statements in a routine.

    4. All program statements must be terminated by a semicolon.

    #include

    int main (void)

    {

    printf ("\t1. In C, lowercase letters are significant.\n");

    printf ("\t2. main is where program execution begins.\n");

    printf ("\t3. Opening and closing braces enclose program statements in a

    routine.\n");

    printf ("\t4. All program statements must be terminated by a

    semicolon.\n");

    return 0;

    }

    Ch :

    1. Ngn ng C phn bit ch hoa v ch thng. 2. Mi chng trnh lun c mt v ch mt hm main. Hm main s l ni u tin chng trnh

    thc hin.

    3. Mi khi c m ngoc th phi c ng ngoc. vd: {} v () 4. Cc dng lnh phi kt thc bng du chm phy ;

    Bi tp 2:

    Vit chng trnh tnh ra kt qu ca php tr 15 cho 87, v xut kt qu ra mn hnh.

    #include

    int main (void)

    {

    int x = 15;

    int y = 87;

    int z = x y;

    printf ("%d - %d = %d", x, y, z);

    return 0;

    }

    Bi tp 3:

    Vit on chng trnh sau y m khng c cc k t bi en, sau bin dch chng trnh (F7) v

    xem thng bo li. Ghi ch li cc li m chng trnh thng bo. Sau , sa li chng trnh cho

    ng v bin dch li.

    Ghi ch: thng bo li s hin ra ca s pha di ca Visual C++. Nhn F4 ln lt nhy n cc li.

    #include

    #define TWENTYFIVE 25;

    int main ()

    {

  • BI TP MINH HA MN TIN HC C S A1

    Trang 3

    int sum;

    /* COMPUTE RESULT */

    sum = TWENTYFIVE + 37 19;

    /* DISPLAY RESULTS */

    printf ("The answer is %i\n", sum);

    return 0;

    }

    Bi tp 4:

    Vit on chng trnh sau y v d on kt qu ca chng trnh. Sau bin dch v chy chng

    trnh xem kt qu chnh xc. Nu kt qu khc vi mnh d on th phn tch xem ti sao li nh vy.

    #include

    int main ()

    {

    int answer, result;

    answer = 100;

    result = answer - 10;

    printf ("The result is %i\n", result + 5);

    return 0;

    }

    The result is 95

    Bi tp 5:

    D on kt qu ca chng trnh sau v gii thch ti sao. Chy chng trnh v so snh kt qu tht s

    vi kt qu d on.

    #include

    #define PRINT(format,x) printf ("x = %"#format"\n", x)

    int main (void)

    {

    int integer = 5;

    char character = '5';

    PRINT(d, character); PRINT(d, integer);

    PRINT(c, character); PRINT(c, integer=53);

    return 0;

    }

    x = 53

    x = 5

    x = 5

    x = 5

    Bi tp 6: D on kt qu ca chng trnh sau v gii thch ti sao. Chy chng trnh v so snh kq tht s vi

    kq d on.

    #include

    #define PR(x) printf("x = %.8g\t", (double)x)

    #define PRINT4(x1,x2,x3,x4) PR(x1); PR(x2); PR(x3); PR(x4)

    int main (void)

    {

    double d;

    float f;

    long l;

    int i;

  • BI TP MINH HA MN TIN HC C S A1

    Trang 4

    i = l = f = d = 100/3; PRINT4(i, l, f, d);

    i = l = f = d = 100/3. ; PRINT4(i, l, f, d);

    return 0;

    }

    x = 33 x = 33 x = 33 x = 33 x = 33 x = 33 x = 33 x = 33.333332 x = 33.333333

    Bi tp 7:

    Vit chng trnh tnh gi tr biu thc sau v gii thch kt qu.

    3x3 - 5x

    2 + 6

    Vi x = 2.55.

    #include

    int main (void)

    {

    float x = 2.55;

    float y = 3*x*x*x - 5*x*x + 6;

    printf ("%f", y);

    return 0;

    }

    23.231623

    CC BI TP THM C KH TRUNG BNH

    1. Vit chng trnh in ln mn hnh nh sau:

    *************************

    * THAO CHUONG BANG *

    * NGON NGU C *

    *************************

    2. Vit chng trnh nhp vo nm sinh, in ra tui.

    V d nhp 1988 in ra: Ban sinh nam 1988 vay ban 19 tuoi.

    3. Vit chng trnh thc hin cc yu cu sau (khng dng hm chuyn i):

    a. Nhp vo mt k t v in ra m ASCII tng ng vi k t .

    b. Nhp vo mt s nguyn (1 255) v in ra k t c m ASCII tng ng.

    4. Nhp vo bn knh ca hnh trn, tnh v in ra chu vi, din tch ca hnh trn .

    5. Vit chng trnh nhp vo 2 s nguyn. Xut ra min, max.

    V d:

    Nhp vo 5 v 7

    Xut ra: min =5, max = 7

    6. Tm hiu ngha cc thng bo li thng gp.

    7. Tm hiu b th vin tr gip MSDN.

  • BI TP MINH HA MN TIN HC C S A1

    Trang 5

    CC BI TP THM C KH CAO

    1. Nhp vo bn knh y R v chiu cao h ca hnh tr trn, tnh din tch y, din tch xung quanh

    v th tch ca hnh tr trn theo cng thc (cc s liu l s thc, gi tr PI c C nh ngha

    sn bng hng s M_PI):

    a. 2RSy

    b. RhSxungquanh 2

    c. hSV y

    2. Nhp vo s thc x, tnh v in ra cc gi tr y1, y2, ly 2 s l:

    d. )1310(4 21 xxxxy

    e.

    xe

    xxy

    x

    4cos

    1)sin(

    2

    22

    2

    3. Nhp s tin nguyn N ng, i ra xem c bao nhiu t 10 ng, 5 ng, 2 ng v 1 ng.

    V d:

    N = 543 = 54 t 10 + 0 t 5 + 1 t 2 + 1 t 1

    4. Nhp vo s nguyn c 3 ch s, tnh tng 3 ch s .

    V d:

    S 543 c tng 3 ch s l: 5 + 4 + 3 = 12

    5. Vit chng trnh nhp gi, pht, giy v thc hin kim tra tnh hp l ca d liu nhp vo.

    6. Vit chng trnh nhp 2 gi (gi, pht, giy) v thc hin tnh '+' v '-' ca 2 gi ny.

  • BI TP MINH HA MN TIN HC C S A1

    Trang 6

    Tun 4. CC CU TRC LP TRNH - CU TRC CHN

    CC BI TP C BN

    Bi tp 1

    Vit chng trnh nhp vo mt s x, nu x = 100 th xut ra thng bo Gia tri cua x la 100,

    ngc li, xut ra thng bo Gia tri ca x khac 100.

    #include "stdafx.h"

    #include

    int main(int argc, char* argv[])

    {

    int x;

    cout > x;

    if(x == 100)

    cout

  • BI TP MINH HA MN TIN HC C S A1

    Trang 7

    else

    {

    cout

  • BI TP MINH HA MN TIN HC C S A1

    Trang 8

    CC BI TP THM C KH TRUNG BNH

    1. Gii phng trnh bc 2: ax2 + bx + c = 0 2. Nhp vo 3 s a, b, c. In ra mn hnh 3 s ny theo th t tng dn.

    3. Nhp vo 4 s a, b, c, d. a. In ra s ln nht v s nh nht. b. In ra 2 s khng phi s ln nht v s nh nht.

    4. Nhp vo di 3 cnh a, b, c ca 1 tam gic. a. Cho bit 3 cnh c lp thnh mt tam gic khng ? b. Nu c, cho bit loi tam gic ny (thng, cn, vung, u, vung cn).

    5. Nhp 1 ch ci, nu l ch thng th i thnh ch hoa, ngc li i thnh ch thng.

    6. Tnh tin i taxi t s km c nhp vo, bit:

    1 km u gi 15000

    T km th 2 n km th 5 gi 13500

    T km th 6 tr i gi 11000

    Nu i hn 120km s c gim 10% trn tng s tin.

    7. Xp loi cc hc sinh trong lp. Nhp vo h tn, im ton, l, ha ca cc hc sinh. Tnh im

    trung bnh 3 mn v phn loi nh sau:

    sut xc: tb >=9.0

    gii: 9.0 > tb >= 8.0

    kh: 8.0 > tb >= 6.5

    trung bnh: 6.5 > tb >= 5.0

    yu: 5.0 > tb >= 3.0

    km: 3.5 > tb

    CC BI TP THM C KH CAO

    8. Vit chng trnh nhp vo ngy, thng, nm. Hy cho bit ngy k tip v ngy trc ca ngy . (c code tham kho bn di) #include

    #include

    void main()

    {

    //khai bao bien

    int ngay, thang, nam;

    int ngaytruoc, ngayke;

    int nhuan;

    //nhap du lieu

    printf("Nhap vao mot ngay: ");

    scanf("%d",&ngay);

    printf("Nhap vao mot thang: ");

    scanf("%d",&thang);

    printf("Nhap vao mot nam: ");

    scanf("%d",&nam);

    //kiem tra nam nhuan

    nhuan = 0;

    if ((nam%400 == 0) || (nam%4 == 0 && nam%100 != 0))

    nhuan = 1;

  • BI TP MINH HA MN TIN HC C S A1

    Trang 9

    ngaytruoc = ngay-1;

    ngayke = ngay+1;

    switch (thang)

    {

    case 1:

    case 5:

    case 7:

    case 10:

    case 12:

    case 4:

    case 6:

    case 9:

    case 11:

    if (ngay == 30)

    {

    ngaytruoc = 29;

    ngayke = 1;

    }

    else

    {

    ngaytruoc = ngay-1;

    ngayke = ngay+1;

    }

    break;

    case 2:

    if (nhuan == 1)

    {

    if (ngay == 29)

    {

    ngaytruoc = 28;

    ngayke = 1;

    }

    else if (ngay == 1)

    {

    ngaytruoc = 31;

    ngayke = 2;

    }

    }

    else

    if (ngay == 28)

    {

    ngaytruoc = 27;

    ngayke = 1;

    }

    else if (ngay == 1)

    {

    ngaytruoc = 31;

    ngayke = 2;

    }

    break;

    case 3:

    if (ngay == 31)

    {

    ngaytruoc = 30;

    ngayke = 1;

    }

    else if (ngay == 1)

    {

    if (nhuan == 1)

    {

    ngaytruoc = 29;

    ngayke = 2;

  • BI TP MINH HA MN TIN HC C S A1

    Trang 10

    }

    else

    {

    ngaytruoc = 28;

    ngayke = 2;

    }

    }

    break;

    case 8:

    if (ngay == 31)

    {

    ngaytruoc = 30;

    ngayke = 1;

    }

    else if (ngay == 1)

    {

    ngaytruoc = 31;

    ngayke = 2;

    }

    break;

    }

    printf("Ngay truoc cua ngay %d cua thang %d cua nam %d la: %d",ngay,

    thang, nam, ngaytruoc);

    printf("\n");

    printf("Ngay ke tiep cua ngay %d cua thang %d cua nam %d la: %d",ngay,

    thang, nam, ngayke);

    getch();

    }

  • BI TP MINH HA MN TIN HC C S A1

    Trang 11

    Tun 5. VNG LP WHILE

    CC BI TP C BN

    Bi 1: Hy tnh tng s = 1 + 2 + 3 ..... + n

    Cch 1:

    #include

    void main()

    {

    int n;

    long s = 0;

    printf("nhap vao n ");

    scanf("%d", &n);

    while (i

  • BI TP MINH HA MN TIN HC C S A1

    Trang 12

    if(t==k)

    {

    printf("so nguyen to lon nhat nho hon %d la %d\n", n, k);

    break;

    }

    k--;

    }

    if(k

  • BI TP MINH HA MN TIN HC C S A1

    Trang 13

    CC BI TP THM C KH CAO

    1. Kim tra xem cc ch s ca s nguyn dng n c gim dn/ tng dn t tri sang phi khng.

    2. Kim tra xem 1 s nguyn dng n c phi l s i xng/ s ton s l/ s ton s chn khng

    3. Tm ch s ln nht, nh nht ca s nguyn dng n.

    4. 24...)1(*2*2 NNS

    5. !

    1

    !2

    1

    !1

    1

    !0

    1

    nS

    6. )!12(

    )1...(!5!3

    1253

    n

    xxxxS

    nn vi < x <

    7. )!2(

    )1...(!4!2

    1242

    n

    xxxS

    nn vi < x <

    8.

    0

    3211

    1

    n

    nxxxxx

    vi 1 < x < 1

    9.

    0

    2642

    )!2(

    )1(

    720

    1

    24

    1

    2

    11)cos(

    n

    n

    n

    xn

    xxxx vi < x <

    10.

    0

    129753

    12

    )1(

    29

    1

    7

    1

    5

    1

    3

    1

    2)(arccotan

    n

    n

    n

    xn

    xxxxxx

    11.

    1

    12

    1

    753

    12

    )1(

    7

    1

    5

    1

    3

    1)arctan(

    n

    n

    n

    xn

    xxxxx vi 1 < x < 1

    12.

    0

    432

    !

    1

    24

    1

    6

    1

    2

    11

    n

    nx xn

    xxxxe vi < x <

    13.

    1

    1

    432 )1(

    4

    1

    3

    1

    2

    1)1ln(

    n

    n

    n

    xn

    xxxxx vi < x <

    14.

    1

    12753

    12

    2

    7

    2

    5

    2

    3

    22

    1

    1ln

    n

    nxn

    xxxxx

    x vi < x <

    15.

    0

    12753

    )!12(

    )1(

    5040

    1

    120

    1

    6

    1)sin(

    n

    n

    n

    xn

    xxxxx vi < x <

    16. Nhp s nguyn dng n. (i) Kim tra co phai la s nguyn t ; (ii) Tm cc tha s nguyn

    t cua no; (iii) In cac ch s t phai qua trai, (iv) In cac ch s t trai qua phai (ch s

    0); (v) In ra tt ca cac cp s nguyn dng a v b (a b) sao cho: nba 22 . (vi) Nhp

    s nguyn k. In ra k s thp phn ng sau du thp phn (ch : 10k c th trn s).

  • BI TP MINH HA MN TIN HC C S A1

    Trang 14

    17. Nhp 2 s nguyn dng a, b khc khng. (i) Tm USCLN(a, b); (ii) Tm hai s nguyn x

    v y sao cho: USCLN(a, b) = a * x + b * y.

    18. Nhp s nguyn dng n. Cho bit o la (i) s i xng, (ii) s gn i xng, (iii) cc ch

    s xp tng dn hay giam dn khng? (iv) tng cac ch s cho n khi nho hn 10, (v) ch

    s ln va nho nht.

    19. Xc nh phn t th k ca dy Fibonacci: 2110

    ,1,0

    kkk

    fffff , vi k 2.

    20. In ra binh phng cua n s nguyn dng u tin, nhng (i) ch dng php + va phep

    ; (ii) Ch dng php +.

  • BI TP MINH HA MN TIN HC C S A1

    Trang 15

    Tun 6. VNG LP FOR

    CC BI TP C BN

    Bi 1: Vit chng trnh tnh tng n s t nhin u tin

    S = 1 + 2 + 3 + ... + n

    #include "stdafx.h"

    #include stdio.h

    void main()

    {

    int n;

    long S = 0;

    printf(" Nhap gia tri n : ");

    scanf("%d",&n);

    if ( n

  • BI TP MINH HA MN TIN HC C S A1

    Trang 16

    Bi 3: Vit chng trnh v mt hnh ch nht bng cc du * vi chiu di v chiu rng do ngi

    dng nhp vo.

    #include "stdafx.h"

    #include stdio.h

    void main()

    {

    int m,n,i,j;

    printf("Nhap chieu dai hinh chu nhat : m = ");

    scanf("%d",&m);

    printf("Nhap chieu rong hinh chu nhat : n = ");

    scanf("%d",&n);

    printf("\n");

    for (i=0; i

  • BI TP MINH HA MN TIN HC C S A1

    Trang 17

    Cch 3: #include "stdafx.h"

    #include stdio.h

    int x[] = {1,2,3,4,5};

    int n = sizeof(x)/sizeof(int);

    void main()

    {

    int i=0,j=n-1;

    int c;

    for ( ; ; ) // cau lenh FOR vang ca 3 thanh phan

    {

    c= x[i];

    x[i] = x[j];

    x[j] = c;

    if (++i >= --j) break;

    }

    printf("\n Day ket qua la :\n");

    for (i=0; i-n; ) // thay quan he i

  • BI TP MINH HA MN TIN HC C S A1

    Trang 18

    CC BI TP THM C KH TRUNG BNH

    1. Xut tt c cc k t t a n z, A n Z, 0 n 9

    2. Xut ra bng m ASCII: gm 2 ct: k t v m ASCII, yu cu hin th thnh tng trang mt,

    3. Tnh tng cc s nguyn t nh hn 1000

    4. Vit chng trnh nhp vo 1 s nguyn , hy vit cch c s nguyn

    5. Vit chng trnh in bng cu chng ra mn hnh

    6. Cn c tng 20000 t 3 loi tin 10000, 20000, 50000. Hy cho bit tt c cc phng n .

    7. Cc bi ton v hnh: tam gic, hnh ch nht, cy thng,

    8. Lit k tt c cc c s ca s nguyn dng n. Cho bit c bao nhiu c s v tm tng ca tt

    c cc s c s .

    9. Tm BSCNN ca 2 s nguyn dng a, b.

    10. Kim tra 1 s c phi l s nguyn t khng.

    11. Tm ch s o ngc ca s nguyn dng n

    12. Tm ch s ln nht/ nh nht ca s nguyn dng n

    13. m s lng ch s, tnh tng cc ch s ca s nguyn dng n

    14. m s lng ch s l/ chn ca s nguyn dng n.

    15. Tnh dy Fibonacci:

    F0 = 0, F1 = 1, Fn = Fn-1 + Fn-2

    CC BI TP THM C KH CAO

    Lm li cc bi kh ca chng trc vi vng lp for

  • BI TP MINH HA MN TIN HC C S A1

    Trang 19

    Tun 7. CHNG TRNH CON

    1. Vit hm xc nh s nh hn trong 2 s, sau s dng hm ny xc nh s nh hn

    trong 3 s.

    2. Vit hm tnh c s chung ln nht v bi s chung nh nht ca hai s nguyn dng a,b.

    3. Vit hm tnh gi tr n! , vi n l s nguyn dng v n > 1.

    n ! = 1 x 2 x ... x (n-1) x n

    4. Vit hm tnh nX khng dng quy.

    5. Vit chng trnh tnh hm t hp )!(!

    !),(

    knk

    nknC

    trong cn ci t hm tnh n!.

    6. Vit hm tnh chu vi v din tch hnh ch nht khi bit di 2 cnh. Sau v hnh ch nht ra

    mn hnh bng cc du *. Hm tnh chu vi, din tch v hm v hnh ch nht phi c lp nhau.

    * * * * * * * * * * * * * * *

    * *

    * *

    * *

    * *

    * * * * * * * * * * * * * * *

    7. Vit chng trnh con xut ra tam gic Pascal nh sau :

    1

    1 1

    1 2 1

    1 3 3 1

    1 4 6 4 1

    8. Vit hm nhp vo thng bng s ri in ra tn thng bng ch ra mn hnh.

    9. Vit hm kim tra mt ngy no c hp l hay khng, kim tra nm nhun.

    10. Vit hm i ngy thng nm thnh th trong tun.

    11. Vit hm nhn bit mt s nguyn dng c phi l s nguyn t hay khng.

    12. Vit chng trnh in ra tt c cc s nguyn t nh hn s nguyn dng M cho trc ( s dng

    hm kim tra s nguyn t ci t trn ).

    13. Vit hm kim tra mt s nguyn dng c phi l s chnh phng hay khng. Xut tt c cc s

    chnh phng trong khong A,B.

  • BI TP MINH HA MN TIN HC C S A1

    Trang 20

    14. Mt s t nhin c gi l s hon thin nu n bng tng tt c cc c s ca n, k c 1. Hy

    vit hm kim tra mt s c phi l s hon thin hay khng, v in ra tt c cc s hon thin nh

    hn s N cho trc.

    15. Vit hm tnh tng nghch o ca n s nguyn.

    16. Vit hm m s cc s chn trong khong t M n N, tnh tng cc s .

    17. Tnh Sin ca gi tr x bt k theo cng thc :

    ...!7!5!3

    sin753

    xxx

    xx So snh kt qu vi hm sin(double) c.

    18. Vit chng trnh con xut ra mn hnh dy s Fibonanci cp n, xc nh theo cng thc :

    Fib(1) = 1

    Fib(2) = 1

    Fib(n) = Fib(n-1) + Fib(n-2) vi n> 2.

    19. Ta c cc loi tin 50.000, 20.000, 10.000, 5.000, 2.000, 1.000. Vit hm cho bit s t ca tng

    loi tin tng ca chng bng mt s tin no m ngi dng nhp vo. Cho bit tt c cc

    phng n c th c, sau thng bit phng n no cho kt qu c s t t nht.

    20. Cho trc mng s nguyn n phn t v s M. Tm tp hp cc phn t trong A sao cho tng ca

    chng bng M.

    Tun 8. CHNG TRNH CON (tt)

    CC BI TP THM V CHNG TRNH CON

    1. Vit hm i mt s h 10 sang h 16 v ngc li.

    2. Vit hm lm trn mt s thc vi 2 tham s u vo : s cn phi lm trn v s ch s phn

    thp phn c ngha sau khi lm trn.

    3. Vit chng trnh o v tr cc k s trong mt s. D liu input l mt s nguyn dng n, gi tr

    ca n s thay i sau khi gi thc hin chng trnh con o k s.

    V d :

    void main()

    {

    int n = 12345;

    DaoKiSo(n);

    // n == 54321

    }

    4. Vit chng trnh con rt gn mt phn s.

    5. Vit hm tnh khong cch gia 2 im trong h ta vung gc khi bit ta ca chng.

  • BI TP MINH HA MN TIN HC C S A1

    Trang 21

    6. Vit hm tnh chu vi din tch ca mt hnh ch nht, hnh tam gic trong h trc ta vung

    gc khi bit ta cc nh.

    7. Trong h ta -cc vung gc, cho hai im A, B c ta ln lc l (X1, Y1) v (X2, Y2) .

    Vit chng trnh xc nh hai h s a,b trong phng trnh ng thng y = ax + b i qua 2 im

    A, B .

    8. Cho 3 im A, B, C vi cc ta tng ng ( X1, Y1) , (X2, Y2) v (X3, Y3). Vit chng trnh

    xc nh trng tm ca tam gic .

    9. Cho trc trong h ta cung gc cc im A, B, C v mt im X c ta bt k. Hy xc

    nh xem X c nm trong tam gic hay khng.

    10. Vit chng trnh in theo trt t tng dn tt c cc phn s ti gin trong khong (0,1) c mu s

    khng vt qu 7.

    11. Vit chng trnh con i ch thng thnh ch hoa.

  • BI TP MINH HA MN TIN HC C S A1

    Trang 22

    Tun 9. KIU MNG MT CHIU V MT S K THUT C BN

    CC BI TP C BN

    1. Tnh tng tt c cc phn t trn mng.

    #include stdafx.h

    #include

    #include

    #include

    #include

    #include

    void NhapMang(int[], int);

    void XuatMang(int[], int);

    int TinhTongCacPhanTu(int[], int);

    int main(int argc, char* argv[])

    {

    int n = 10;

    int a[10];

    NhapMang(a, n);

    XuatMang(a, n);

    int s = TinhTongCacPhanTu(a, n);

    cout

  • BI TP MINH HA MN TIN HC C S A1

    Trang 23

    {

    cout

  • BI TP MINH HA MN TIN HC C S A1

    Trang 24

    void Tron2Mang(int[], int, int[], int, int[]);

    int main(int argc, char* argv[])

    {

    int n = 5, m = 7;

    int a[5];

    int b[7];

    int c[100];

    srand((unsigned int)time(NULL));

    cout

  • BI TP MINH HA MN TIN HC C S A1

    Trang 25

    srand((unsigned int)time(NULL));

    cout x;

    cout

  • BI TP MINH HA MN TIN HC C S A1

    Trang 26

    {

    int f1 = 0;

    int f2 = 1;

    int f;

    a[0] = f1;

    a[1] = f2;

    for(int i=2; i

  • BI TP MINH HA MN TIN HC C S A1

    Trang 27

    Tun 10. TM KIM V SP XP TRN MNG MT CHIU

    CC BI TP C BN

    1. Tm mt phn t x bt k trn mng theo kiu tun t. /*********************************************************************/

    /* ... */

    int TimKiem(int[], int, int);

    int main(int argc, char* argv[])

    {

    int n = 10;

    int a[10];

    srand((unsigned int)time(NULL));

    NhapMang(a, n);

    XuatMang(a, n);

    int x;

    cout > x;

    int kq = TimKiem(a, n, x);

    if(kq == -1)

    cout

  • BI TP MINH HA MN TIN HC C S A1

    Trang 28

    2. Sp xp cc phn t trn mng tng dn hoc gim dn theo yu cu. /* .................................................................. */

    void SapXep(int[], int, bool);

    void HoanVi(int&, int&);

    int main(int argc, char* argv[])

    {

    int n = 10;

    int a[100];

    srand((unsigned int)time(NULL));

    cout

  • BI TP MINH HA MN TIN HC C S A1

    Trang 29

    3. Sp xp cc phn t trn mng sao cho cc s dng tng dn v cc s m gim dn. /*********************************************************************/

    /* ... */

    void SapXepDuongTangAmGiam(int a[], int n)

    {

    for(int i=0; i0)

    {

    if(a[j] < a[i])

    HoanVi(a[i], a[j]);

    }

    if(a[j]

  • BI TP MINH HA MN TIN HC C S A1

    Trang 30

    return 0;

    }

    /***************************************************************/

    void DaoNguocMang(int a[], int n)

    {

    for(int i=0; i

  • BI TP MINH HA MN TIN HC C S A1

    Trang 31

    5. Cho mang co n phn t. Nhp m la s nguyn dng nho hn n. Chia mang lam 2 oan a[0]

    a[m 1] v a[m] a[n 1]. Khng dung thm mang phu. Chuyn ch cac phn t thanh a[m]

    a[n 1] a[0] a[m 1].

    6. Mng a (k phn t) v b (l phn t) cha h s cua 2 a thc. Tnh tch ca 2 a thc trn.

    7. Cho 2 mng a va b co m va n phn t. Cc phn t trong mi mng l khc nhau. Tm s lng

    phn t chung. M rng: gi s c phn t trng. (while)

  • BI TP MINH HA MN TIN HC C S A1

    Trang 32

    Tun 11. MNG 2 CHIU

    CC BI TP C BN

    Bi 1: Vit chng trnh nhp, xut mt mng s nguyn hai chiu c m dng v n ct. Xc nh phn t

    ln nht v nh nht trong mng.

    #include stdafx.h

    #include stdio.h

    #define max_dong 100

    #define max_cot 100

    void main()

    {

    int m,n;

    int a[max_dong][max_cot];

    int i,j;

    // nhap cac phan tu cho mang 2 chieu co m dong va n cot

    printf(" Nhap so dong : m = ");

    scanf("%d",&m);

    printf("Nhap so cot : n = ");

    scanf("%d",&n);

    for (i=0; i

  • BI TP MINH HA MN TIN HC C S A1

    Trang 33

    printf("\n Phan tu lon nhat cua mang la %d tai vi tri (%d,%d)",

    max,x_max+1,y_max+1);

    printf("\n Phan tu nho nhat cua mang la %d tai vi tri (%d,%d)",

    min,x_min+1,y_min+1);

    }

    Bi 2: Vit chng trnh sp xp ma trn cc s thc tng dn t trn xung di v t tri sang phi

    bng hai phng php dng v khng dng mng ph.

    Cch 1 : Khng s dng mng ph.

    #include stdafx.h

    #include stdio.h

    #define max_dong 100

    #define max_cot 100

    void main()

    {

    int m,n;

    int a[max_dong][max_cot];

    int i,j;

    // nhap cac phan tu cho mang 2 chieu co m dong va n cot

    printf(" Nhap so dong : m = ");

    scanf("%d",&m);

    printf("Nhap so cot : n = ");

    scanf("%d",&n);

    for (i=0; i

  • BI TP MINH HA MN TIN HC C S A1

    Trang 34

    int i,j;

    // nhap cac phan tu cho mang 2 chieu co m dong va n cot

    printf(" Nhap so dong : m = ");

    scanf("%d",&m);

    printf("Nhap so cot : n = ");

    scanf("%d",&n);

    for (i=0; i

  • BI TP MINH HA MN TIN HC C S A1

    Trang 35

    #define max_dong 50

    #define max_cot 50

    void main()

    {

    int m,n;

    int a[max_dong][max_cot];

    int i,j;

    // nhap cac phan tu cho mang 2 chieu co m dong va n cot

    printf(" Nhap so dong : m = ");

    scanf("%d",&m);

    printf("Nhap so cot : n = ");

    scanf("%d",&n);

    for (i=0; i

  • BI TP MINH HA MN TIN HC C S A1

    Trang 36

    printf(" Nhap so dong : m = ");

    scanf("%d",&m);

    printf("Nhap so cot : n = ");

    scanf("%d",&n);

    for (i=0; i

  • BI TP MINH HA MN TIN HC C S A1

    Trang 37

    // su dung mang B luu gia tri tong cac dong cua matrix A

    int b[max_dong];

    int k = 0;

    // tinh tong cac dong va luu vao B

    for (i=0; i

  • BI TP MINH HA MN TIN HC C S A1

    Trang 38

    CC BI TP THM C KH CAO

    1. Sp xp cc phn t trn mng tng dn trn tng ct v gim dn trn tng dng.

    2. Sp xp cc phn t trn mng tng dn ln lut trn dng v trn ct.

    3. Tnh tng v tch ca n ma trn.

    4. Xoay 1 ma trn theo chiu bt k.

    5. Xoay 1 ma trn theo chiu bt k n bc.

    6. Xa mt hng hoc mt ct bt k trn mng 2 chiu.

    7. Nhp vo 2 mng 2 chiu, tm tt c cc phn t trng nhau ca 2 mng v thay vo l s 0.

    8. Nhp vo 2 ma trn cng kch thc n x m, in ra ma trn tng.

    9. Nhp vo 2 ma trn cng kch thc n x m, tnh ma trn tch.

    10. Nhp vo 1 ma trn, xut ra ma trn nghch o.

    11. Tm gi phn t ln nht v nh nht trn tng dng, tng ct, v trn ton ma trn.

  • BI TP MINH HA MN TIN HC C S A1

    Trang 39

    Tun 12. 13. KIU K T V KIU CHUI

    CC BI TP C BN

    1. Nhp mt chui S t bn phm. Kim tra xem chui c phi l chui i xng. V d:

    Nhp: S = aBCdCBa

    Xut: i xng

    Nhp: S = aBCdBCa

    Xut: Khng di xng

    tng:

    Gi s chui l chui i xng. Nu pht hin 1 v tr m i xng vi n (cng v tr nhng tnh t cui

    chui) th chui khng cn i xng na.

    Chng trnh: #include

    #include

    #include

    // Nn nh ngha MAX c th thay i kch thc mng nhanh chng

    #define MAX 100

    // Nn t prototype y bit hm nhn vo ci g v tr v ci g

    // u vo: Chui cn kim tra

    // u ra: 1 nu l chui i xng, 0 nu l chui khng i xng

    int LaChuoiDoiXung(char []);

    void main()

    {

    char str[MAX];

    printf("Nhap 1 chuoi: ");

    // Nn s dng gets thay v scanf c th nhp chui c khong trng

    gets(str);

    int kq = LaChuoiDoiXung(str);

    if (kq==1)

    printf("Chuoi \"%s\" la chuoi doi xung.", str); // S dng \ xut

    else

    printf("Chuoi \"%s\" khong phai la chuoi doi xung.", str);

    getch();

    }

    int LaChuoiDoiXung(char str[MAX])

    {

    int Flag = 1; // c gi s y l chui i xng

    int l = strlen(str); // strlen ly di chui. Nn tnh 1 ln s

    dng li

    for (int i=0; i

  • BI TP MINH HA MN TIN HC C S A1

    Trang 40

    C th khng cn s dng bin Flag kim tra m c th return 0; ngay khi kim tra thy c v tr

    khng cn i xng. C th nh sau:

    int LaChuoiDoiXung(char str[MAX])

    {

    int l = strlen(str); // strlen ly di chui. Nn tnh 1 ln s

    dng li

    for (int i=0; i

  • BI TP MINH HA MN TIN HC C S A1

    Trang 41

    int KyTuXuatHienNhieuNhat(char str[], char &chr)

    {

    int i, j, length = strlen(str);

    char curchr; // K t ang xt

    int curcount; // S ln xut hin ca k t ang xt

    int max = 0; // S ln xut hin nhiu nht ban u l 0 (cha c)

    for (i=0; i

  • BI TP MINH HA MN TIN HC C S A1

    Trang 42

    printf("Nhap ho ten: ");

    // Nn s dng gets thay v scanf c th nhp chui c khong trng

    gets(str);

    ChuanHoaChuoi(str);

    printf("Chuoi sau khi chuan hoa: %s", str);

    getch();

    }

    void ChuanHoaChuoi(char str[])

    {

    int i;

    // Xa cc khong trng d bn tri

    // Nu k t u tin vn l khong trng th dch chuyn chui qua tri 1 k t

    while (str[0]==' ')

    {

    for (i=0; i

  • BI TP MINH HA MN TIN HC C S A1

    Trang 43

    Lu :

    - C th vit 1 hm xa 1 k t ti v tr x trong chui s dng chung (xem nh Bi tp)

    - K t kt thc chui l k t \0

    - Do k t thng ng sau k t hoa 32 k t trong bng max ASCII nn mun i k t thng sang

    hoa th ta tr gi tr ca k t thng vi 32. n gin hn l s dng hm toupper trong th vin

    ctype.h.

    4. Vit chng trnh nhp mt s nguyn, xut li s dng chui nhng c du , ngn cch

    hng triu, ngn. V d:

    Nhp: N = 123456789

    Xut: S = 123,456,789

    tng:

    Chuyn s N sang chui S. i li t cui chui v c 3 k t s chn du phy vo.

    Chng trnh: #include

    #include

    #include

    #include

    // Nn nh ngha MAX c th thay i kch thc mng nhanh chng

    #define MAX 20

    // Nn t prototype y bit hm nhn vo ci g v tr v ci g

    // u vo: Chui cn chn, k t chn, v tr

    // u ra: khng c (chn trc tip vo chui a vo)

    void ChenKyTuVaoChuoi(char [], char, int);

    void main()

    {

    unsigned int N;

    printf("Nhap mot so N: ");

    scanf("%d", &N);

    char str[MAX];

    itoa(N, str, 10); // i s N sang chui str c s 10

    for (int i=strlen(str)-3;i>0;i=i-3)

    ChenKyTuVaoChuoi(str, ',', i); // Gi hm chn k t , vo chui

    printf("Chuoi so sau khi xu ly la: %s", str);

    getch();

    }

    void ChenKyTuVaoChuoi(char str[], char chr, int pos)

    {

    int length = strlen(str);

    for (int i=length; i>pos; i--) // y chui sang phi sau v tr pos

    str[i] = str[i-1];

    str[pos] = chr; // a k t chr vo v tr pos

    str[length+1] = '\0'; // Cp nht v tr kt thc chui

    }

    5. Nhp 2 chui S1 v S2 ch gm cc k s t bn phm. Xut ra tng ca 2 s .

  • BI TP MINH HA MN TIN HC C S A1

    Trang 44

    V d:

    Nhp: S1 = 2912 S2 = 176

    Xut: S = 3088

    tng 1:

    i 2 chui sang 2 s. Cng 2 s ri i ngc sang chui. Cch ny ch lm trong trng hp chui

    s ngn bin s cn sc cha.

    tng 2:

    Thc hin php cng nh cng bng tay. tin ta thm cc s 0 vo u chui s ngn 2 chui s di

    bng nhau.

    Chng trnh: #include

    #include

    #include

    #define MAX 200

    void main()

    {

    char a[MAX];

    char b[MAX];

    char c[MAX];

    // Chui s ny lin tc nn ta s dng ngay hm scanf thay v hm gets

    printf("Nhap so thu nhat: ");

    scanf(%s, &a);

    printf("Nhap so thu hai: ");

    scanf(%s, &b);

    /*

    Chn s 0 vo u chui ngn hn

    i vi chui ngn hn, ta thc hin 3 bc:

    - o chui

    - Thm s 0 vo n khi di chui ngn = chui di

    - o chui li

    */

    if (strlen(a)

  • BI TP MINH HA MN TIN HC C S A1

    Trang 45

    temp = nc/10; // Ly phn nh

    nc = nc%10;

    c[clength++] = nc + 48;

    }

    if (temp>0)

    c[clength++] = temp + 48; // Nu cn nh th a tip vo

    c[clength] = '\0'; // Kt thc chui

    strrev(c);

    printf(" %s + %s = %s", a, b, c);

    getch();

    }

    Nu khng thm cc s 0 vo u chui s ngn, ta c th lm nh sau: #include

    #include

    #include

    #define MAX 200

    void main()

    {

    char a[MAX];

    char b[MAX];

    char c[MAX];

    int temp;

    printf("Nhap so thu nhat: ");

    scanf(%s, &a);

    printf("Nhap so thu hai: ");

    scanf(%s, &b);

    strrev(a);

    strrev(b);

    int ablength;

    ablength = strlen(a) < strlen(b) ? strlen(b) : strlen(a);

    /*

    Cu lnh trn tng ng vi cu lnh if sau (xem li ton t 3 ngi):

    if (strlen(a) < strlen(b))

    ablength = strlen(b);

    else

    ablength = strlen(a);

    /*

    int na, nb, nc, clength = 0;

    temp = 0;

    for (int i=0; i0)

    c[clength++] = temp + 48;

    c[clength] = '\0';

  • BI TP MINH HA MN TIN HC C S A1

    Trang 46

    strrev(a);

    strrev(b);

    strrev(c);

    printf("%s + %s = %s", a, b, c);

    getch();

    }

    CC BI TP THM C KH TRUNG BNH

    1. Nhp h tn ca mt ngi t bn phm. Hy chun ha chui h tn ny. (Xa cc khong trng

    tha v k t u tin ca h, ch lt v tn phi vit hoa, cc k t cn li vit thng).

    V du:

    Nhp: NgUyen VaN A

    Xut: Nguyen Van A

    2. Khng s dng cc hm c sn. Vit chng trnh xa N k t ti v tr i trong chui S.

    V d:

    Nhp: S = Nguyen Van A i = 2 N = 3 (Xa 3 k t ti k t 2 trong chui S)

    Xut: S = Nen Van A

    3. Vit chng trnh nhp mt s nguyn, xut li s dng chui nhng c du , ngn cch

    hng triu, ngn.

    V d:

    Nhp: N = 123456789

    Xut: S = 123,456,789

    4. Nhp mt chui S t bn phm. Kim tra xem chui c phi l chui i xng.

    V d:

    Nhp: S = aBCdCBa

    Xut: i xng

    Nhp: S = aBCdBCa

    Xut: Khng di xng

    5. Nhp mt chui S t bn phm. Tm k t xut hin nhiu nht trong chui v s ln xut hin.

    V d:

    Nhp: S = Nguyen Thi B

    Xut: n 2 ln

    6. Nhp mt chui S t bn phm v mt k t C. m xem k t C xut hin bao nhiu ln trong

    chui S .

    Nhp: Nguyen Van A C = u

  • BI TP MINH HA MN TIN HC C S A1

    Trang 47

    Xut: 1 ln

    7. Lp trnh nhp vo t bn phm danh sch hc sinh mt lp, sp xp li danh sch theo th t abc

    ca Tn, nu trng Tn th sp xp theo th t abc ca H.

    8. Vit chng trnh nhp t bn phm 2 xu k t S1 v S2. Hy xt xem S1 c xut hin bao nhiu

    ln trong S2 (hoc ngc li S2 xut hin bao nhiu ln trong S1) v ti nhng v tr no?

    9. Vit chng trnh nhp mt xu S ch gm cc ch ci thng. Hy lp xu S1 nhn c t xu

    S bng cch sp xp li cc k t theo th t abc.

    10. Cho xu S ch gm cc du ( v ). Hy kim tra xem S c l mt biu thc ( ) hp l hay

    khng.

    Lp trnh tnh gi tr ca mt s vit di dng LA M.

    11. V d: MDCLXVI = 1666. M:1000 ; D:500 ; C:100; L:50; X :10 ; V:5 ; I :1

    CC BI TP THM C KH CAO

    12. Khng s dng cc hm c sn. Vit chng trnh chn chui S2 vo chui S1 ti v tr i trong

    chui S1.

    V d:

    Nhp: S1 = Nguyen Van A

    S2 = Le

    i = 8 (Chn chui S2 vo chui S1 ti v tr 8)

    Xut: S1 = Nguyen LeVan A

    13. Nhp 2 chui S1 v S2 ch gm cc k s t bn phm. Xut ra tng ca 2 s .

    V d:

    Nhp: S1 = 2912 S2 = 176

    Xut: S = 3088

    14. Khng s dng cc hm c sn. Kim tra xem chui S2 c nm trong chui S1 hay khng v ti v

    tr no.

    V d:

    Nhp: S1 = Nguyen Van A S2 = Van

    Xut: S2 nm trong S1 ti v tr 8.

    15. Nhp mt chui S t bn phm. m xem c bao nhiu t c nhiu hn n k t c trong chui S.

    Nhp: Nguyen Van A n = 2

    Xut: 2 t

    16. Cho xu k t S. Xt xem c hay khng mt xu X sao cho S l ghp ca mt s ln lin tip ca

    X. V du S = abcabc th X l abc, cn nu S = abcab th khng c xu X.

  • BI TP MINH HA MN TIN HC C S A1

    Trang 48

    17. Nhp t bn phm mt s nguyn dng N

  • BI TP MINH HA MN TIN HC C S A1

    Trang 49

    Tun 13. QUY

    CC BI TP C BN

    1. Nhp mt s nguyn n. S dng quy tnh n! (n! = 1*2**n) V d:

    Nhp: n = 0

    Xut: 0! = 1

    Nhp: n = 4

    Xut: 4! = 24

    #include

    #include

    // Nn t prototype y bit hm nhn vo ci g v tr v ci g

    // u vo: n

    // u ra: n!

    int GiaiThua(int);

    void main()

    {

    int n;

    printf("Nhap n: ");

    scanf("%d", &n);

    int kq = GiaiThua(n);

    printf("%d! = %d", n, kq);

    getch();

    }

    int GiaiThua(int n)

    {

    if (n==0) // Rt quan trng. y l im thot ca hm quy.

    return 1;

    else // C th b else v nu ri vo trng hp n=0 th return.

    return n*GiaiThua(n-1);

    }

    Cn ch sc cha ca bin khi khai bo. Hm GiaiThua tr v kt qu kiu int c sc cha khng

    trong cc trng hp n ln. Lc ny s xy ra hin tng trn s v dn n cho ra kt qu sai. C th

    thay kiu tr v int bng kiu khc c sc cha ln hn nh float hoc double.

  • BI TP MINH HA MN TIN HC C S A1

    Trang 50

    2. Nhp mt s nguyn n. S dng quy in dy Fibonacy c di n. V d:

    Nhp: n = 2

    Xut: 1 1

    Nhp: n = 5

    Xut: 1 1 2 3 5

    #include

    #include

    // Nn t prototype y bit hm nhn vo ci g v tr v ci g

    // u vo: n

    // u ra: phn t th n ca dy Fibonacy

    int Fibonacy(int);

    void main()

    {

    int n;

    printf("Nhap n: ");

    scanf("%d", &n);

    for (int i=0; i

  • BI TP MINH HA MN TIN HC C S A1

    Trang 51

    3. Nhp mt mng n s nguyn. S dng quy tnh tng gi tr cc phn t c trong mng. V d:

    Nhp: n = 1 v mng a = 4

    Xut: Tng = 4

    Nhp: n = 5 v mng a = -1 4 6 3 0

    Xut: Tng = 12

    #include

    #include

    #define MAX 100

    // u vo: bin cha mng cc s nguyn v s phn t

    // u ra: tng cc phn t ca mng

    int TongMang(int [], int);

    void main()

    {

    int a[MAX];

    for (i=0; i0)

    {

    printf("Mang a vua nhap la: ");

    for (i=0; i

  • BI TP MINH HA MN TIN HC C S A1

    Trang 52

    4. Nhp 2 s nguyn dng a v b. S dng quy tnh c s chung ln nht ca 2 s . Nhp: a = 3 b = 4

    Xut: USCLN = 12

    #include

    #include

    // u vo: 2 s nguyn dng

    // u ra: c s chung ln nht ca 2 s nguyn dng

    int USCLN(int, int);

    void main()

    {

    int a, b;

    printf("Nhap 2 so nguyen a va b: ");

    scanf("%d%d", &a, &b);

    int c = USCLN(a,b);

    printf("Uoc so chung lon nhat cua %d va %d la: %d", a, b, c);

    getch();

    }

    int USCLN(int a, int b)

    {

    if (a==b) // y l im thot ca hm quy a=b

    return a;

    if (a>b)

    return USCLN(a-b, b);

    return USCLN(a, b-a);

    }

  • BI TP MINH HA MN TIN HC C S A1

    Trang 53

    5. Nhp s nguyn dng N. S dng quy tnh in dy nh phn ca s N . Nhp: N = 5

    Xut: 101

    #include

    #include

    // u vo: s nguyn n

    // u ra: dy biu din nh phn ca s nguyn dng n

    void InNhiPhan(int);

    void main()

    {

    int n;

    printf("Nhap n: ");

    scanf("%d", &n);

    InNhiPhan(n);

    getch();

    }

    void InNhiPhan(int n)

    {

    if (n/2==0) // y l im thot ca hm quy khi khng th chia n tip

    printf("%d", n%2);

    else // Mun b else y th phi them return; iu kin n/2==0

    {

    InNhiPhan(n/2); // Ch th t in: in phn cn li trc

    printf("%d", n%2); // ri in s d va tm c

    }

    }

    CC BI TP THM C KH TRUNG BNH

    1. Nhp mt s nguyn N. Tnh N!

    Nhp: N = 4

    Xut: N! = 24

    2. Nhp 2 s nguyn a v b. S dng quy tnh c s chung ln nht ca 2 s .

    Nhp: a = 3 b = 4

    Xut: USCLN = 12

    3. Nhp mt mng gm N s nguyn. S dng quy tnh tng N s nguyn .

    Nhp: [1, 5, 0, 6]

    Xut: S = 12

    4. Nhp mt mng gm s N s nguyn. S dng quy kim tra xem c phi l mng tng dn.

    Nhp: [0, 1, 5, 6]

    Xut: Tng dn

    5. Nhp mt mng gm s N s nguyn. S dng quy kim tra xem c phi l mng i xng.

    Nhp: [0, 1, 5, 1, 0]

    Xut: Mng i xng

  • BI TP MINH HA MN TIN HC C S A1

    Trang 54

    6. Nhp mt s N t bn phm. In ra s theo th t ngc li.

    Nhp: N = 1234

    Xut: N = 4321

    7. Nhp mt s nguyn N t bn phm. Tnh gi tr biu thc:

    S = 24...)1(*2*2 NN

    Nhp: N = 4

    Xut: S = 3,299 (S = 2468 )

    8. Nhp n.

    Tnh )!12(

    )1...(!5!3

    1253

    n

    xxxxS

    nn .

    Kim tra kt qu tm c khi n ln vi sinx

    9. Nhp n. Tnh )!2(

    )1...(!4!2

    1242

    n

    xxxS

    nn .

    Kim tra kt qu tm c khi n ln vi cosx

    10. QuickSort

    11. Xy dng mt dy gm N k t t 3 k t 1, 2, 3 sao cho khng c hai dy con lin tip no ging

    nhau. V d N = 5: 12321 (ng). Cc dy 12323, 12123 l khng ng.

    CC BI TP THM C KH CAO

    1. Cho n s t nhin x1, x2,, xn. Hy tm UCLN (x1, x2,,xn) bng cch s dng:

    UCLN(x1,x2,,xn)= UCLN(UCLN(x1,x2,,x(n-1)),xn)

    2. Bi ton m i tun

    3. Bi ton 8 qun hu

    4. Tm tt c cc hon v ca mt mng c n phn t

    5. Dy Fibonacci

    6. Cho n qu cn c trng lng m1, m2,,mn. Hy tm cch t mt s qu cn sao cho cn c

    cn bng.

    7. Cho 1 va li c th tch V v c n vt c cc gi tr a1, a2,, an v th tch tng ng l V1,

    V2,,Vn. Hy tm cch xp cc vt vo vali sao cho gi tr ca cc hng ha l cao nht