Bai tap NMLT.pdf

  • Upload
    tuan-vu

  • View
    70

  • Download
    0

Embed Size (px)

Citation preview

  • 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. 3x

    3 - 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