2. probleme algoritmi

Upload: raluca-maria-salcudean

Post on 13-Apr-2018

313 views

Category:

Documents


5 download

TRANSCRIPT

  • 7/27/2019 2. Probleme Algoritmi

    1/39

    35

    1.3. Probleme ( programe pseudocod, Pascal | C / C++)

    1. Se consider programul pseudocodalturat:

    S-a notat cu x%yrestulmpririi lui xla y.

    citete a, b(numere naturale)

    dac a

  • 7/27/2019 2. Probleme Algoritmi

    2/39

    36

    2) Scriei o valoare pentru nastfel nct ambele valori afiate s fie nenule.3) Scriei programulPascal/C/C++ corespunztor algoritmul dat.4) Scriei un program pseudocod echivalent cu algoritmul dat care s utilizeze

    un alt tip de structur repetitiv.

    5. Se consider programul pseudocodalturat:

    S-a notat cu x mod y restul mpririinumrului ntreg x la numrul ntreg y icu [z] partea ntreag a numrului z.

    citete a,b {numere naturale}x 1ct timp (a>0)i(b>0) executdac (a mod 10)=10 execut

    n [n/10]dac b mod 2 = n mod 2 atunci scrie DA altfel scrie NU

    1) Ce se afiseaz pentrun=35724?2) Scriei o valoare pentru nastfel ncat s

    se afieze mesajul DA.

    3) Scriei programul Pascal/C/C++ conform algoritmului.4) Scriei un program pseudocod echivalent cu algoritmul dat care s utilizeze

    un alt tip de structur repetitiv.

    7. Se consider programul pseudocod

    alturat.S-a notat cu x%y restul mpririinumerelor ntregi xi y.

    citete x {x natural}

    nr

    0s0ct timp x0 execut nr

    nr+1 dac nr%2=0 atunci ss+x%10 citete xscrie s,nr

    1) Care sunt valorile afiate pentruurmtoarele date de intrare:100,1,2,10,5,0 ?

    2) Scriei o secven de valori pentru x astfelnct rezultatul afiat n urma executriialgoritmului s fie 0 10.

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Scriei programul pseudocod care s fie echivalent cu algoritmul dat i cares conin o structur repetitiv cu test final.

  • 7/27/2019 2. Probleme Algoritmi

    3/39

    37

    8. Se consider programul pseudocodalturat:

    S-a notat cu x%y restul mpririi numruluintreg x la numrul ntreg y i cu [z]partea ntreag a numrului real z.

    citete n {numr natural nenul}i1ct timp n>0 execut dac n%2>0 atunci scrie i ii+1; n[n/2]

    1) Ce se va afia pentrun=333?

    2) Scriei care este cea mai mic valoare strict pozitiv pentru variabilanastfelnct s se afieze succesiunea de valori 12345?

    3) Scriei programul pseudocod care s fie echivalent cu algoritmul dat, dar ncare s se nlocuiasc structura ct timp ... execut cu o structurarepetitiv cu test final.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    9. Se consider programul pseudocodalturat.S-a notat cu x%y restul mpririinumerelor ntregi x i y i cu [z] parteantreag a numrului real z.

    citete x ,m{x ntreg, m natural}y1 ct timp m>0 exec dac m%2 =0 atunci m

    [m/2]; x

    x*xaltfel m

    m-1;y

    y*x

    scrie y

    1) Care este valoarea afiat pentrux=-2im=9?

    2)

    Scriei o pereche de valori pentru ximastfelnct rezultatul afiat s fie 1.

    3) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    4) Scriei programul pseudocod care s fie echivalent cu algoritmul dat i cares conin o structur repetitiv cu test final.

    10. Se consider programul pseudocodalturat n care s-a notat cu x|y relaia x

    divide pe y sau yeste divizibil cu x.

    citete n,k

    (numere naturale nenule)s0pentru i=1,n execut dac k|i atuncis

    s+i scrie s

    1) Ce seva afia pentrun=40,k=7?

    2) Determinai cte o valoare de dou cifrepentru variabilele n i k astfel nctrezultatul afiat s fie un numr impar.

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Construii un algoritm echivalent fr a utiliza structuri repetitive, scriind

    programul Pascal/C/C++ corespunztor.

  • 7/27/2019 2. Probleme Algoritmi

    4/39

    38

    11. Se consider programul pseudocodalturat n care s-a folosit notaia [x]pentru partea ntreag a lui x.

    citete n (numr natural nenul)

    t1; cn%10; n[n/10]

    ct timp t=1 i n>0 execut

    dac n%10>c atunci

    t0

    cn%10; n[n/10]

    scrie t

    1) Ce seva afia pentru n=4357?2) Scriei o valoare de patru cifre pentru

    variabila nastfel nct rezultatul afiat sfie 1.

    3) Cte numere naturale nenule de cel mult dou cifre pot fi introduse pentruvariabila n, sse afieze 1pentru fiecare caz n parte.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    12. Se consider programul pseudocodalturat n care s-a folosit notaia [x]pentru partea ntreag a lui x.

    citete n(numr natural nenul)p1; s0ct timp p

  • 7/27/2019 2. Probleme Algoritmi

    5/39

    39

    14. Se consider programul pseudocodalturat:

    S-a notat cu x%y restul mpririi numrului ntreg x

    la numrul ntreg y i cu [z] partea ntreag anumrului z.

    citete n{numr natural}

    ok1dac n%10>[n/10]%10 atunci x

    1

    altfel x0n

    [n/10]ct timp n>9 executdac n%10>[n/10]%10 atunci y

    1

    altfel y

    0dac x

    y

    atunci ok

    0 n[n/10]scrie ok

    1) Ce se va afia pentrun=2589?2) Scriei o valoare pentru variabilanastfel nct

    s se afieze valoarea 0.3) Scriei programul Pascal/C/C++ corespunztor

    algoritmului dat.4) Scriei programul pseudocod care s fie

    echivalent cu algoritmul dat, dar n care s senlocuiasc structura ct timpexecutcu un

    alt tip de structura repetitiv.

    15. Se consider programul pseudocodalturat:

    S-a notat cu x|y relaia xdivide pe y sau yeste divizibil cu x i cu[x] partea ntreag anumrului real x.

    citete ni2; p1ct timp n>1 execut k

    0 ct timp i|n execut ki; n[n/i]

    dac k

    0 atunci

    p

    p*k ii+1scrie p

    1) Ce se va afia pentru n=112?2) Scriei o valoare pentru variabila n astfelnct s se afieze o valoare egal cun.

    3) Scriei programul Pascal/C/C++corespunztor algoritmuluidat.

    16. Se consider programulpseudocod alturat:

    S-a notat cu x%y restul mpririi lui xla yi cu [x] partea ntreag a numrului realx

    citete n,c

    (numere naturale,0c9 )

    k0

    ct timp n%10=c execut n

    [n/10]; k

    k+1scrie k1) Ce se va afia pentru n=3533 i

    c=3?

    2) Scriei o valoare pentru ni una pentru castfel nct s se afieze valoarea0.

    3) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    4) Scriei un algoritm echivalent cu algoritmul dat, dar care s utilizeze alt tip destructur repetitiv.

  • 7/27/2019 2. Probleme Algoritmi

    6/39

    40

    17. Se consider programul pseudocodalturat:

    S-a notat cu x%y restul mpririilui xla y

    citete a(numr ntreg)k0

    ct timp a

    0 execut citete b

    dac a%2=b%2 atunci k

    k+1 abscrie k

    1) Ce se va afia dac de la tastatur seintroduce irul de valori 246573980?

    2) Dai un exemplu de ir de date de intrarecu cel puin 3 elemente care sdetermine afiarea valorii 0.

    3) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    4) Scriei un algoritm echivalent cu algoritmul dat, dar care utilizezeaz un alt

    tip de structur repetitiv.18. Se consider programul

    pseudocod alturat:S-a notat cu [x]partea ntreag a numruluireal x.

    citete a(anumrnatural,a>1)

    b

    1/a; c

    0ct timp b

  • 7/27/2019 2. Probleme Algoritmi

    7/39

    41

    20. Se consider programul pseudocodalturat:

    S-a notat cu x%y restul mpririi numruluinatural xla numrul natural y, iar cu [x]parteantreaga numrului real x.

    citete n(numr natural, nenul)

    p 1ct timp p0 atunci scrie a,b,c a

    b

    bc

    citete c

    1) Ce se va afia dac a=1, b=2, c=1 isunt citite valorile 2,-1,3,-2,5,0?

    2) Dai un exemplu de trei valori reale pentru

    variabilele a, b i c astfel nct structuract timp s efectueze o singur iteraie is afieze trei valori pozitive.

    3) Scriei un program pseudocod echivalent cu algoritmul dat care s conin ostructur repetitiv cu test final.

    4) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    22. Se consider programulpseudocod alturat: citete n,m

    (nr. naturale nenule)ct timp nmexecut dac n>m atunci n n-m altfel m m-n scrie n

    1) Ce rezultat se afieaz pe ecranpentru n=12im=3?

    2) Se citete pentru n valoarea 72.S se determine cea mai micvaloare de 3 cifre citit pentrumastfel nct s se afieze valoarea36.

    3) Scriei un program pseudocod echivalent cu algoritmul dat care s conin o

    structur repetitiv cu test final.4) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

  • 7/27/2019 2. Probleme Algoritmi

    8/39

    42

    23. Se consider programul pseudocodalturat, unde subprogramul suma(n)

    returneaz suma cifrelor numrului natural n

    transmis ca parametru.

    citete n (nN)nr0ct timp n>9 execut

    nsuma(n) nrnr+1scrie nr

    1) Care este valoarea afiat pentru n=1999?

    2) Dai exemplu de o valoare pentru nastfel nctvaloarea afiat s fie 1.

    3) Care este cea mai mare valoare de patru cifre ce trebuie citit pentru variabilanastfel nct s se afieze 3?

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    24. Se consider programul pseudocodalturat n care s-a notat cu x%y restul

    mpririi numrului natural x la numrulnatural y i cu [z] partea ntreag anumrului real z.

    citete n{n numr natural}

    z 0ct timp n>0 execut c n%10; n[n/10] dac c%2=0 atunci z

    z*10+c

    scrie z

    1) Care este valoare afiat pentrun=52381?

    2) Scriei o valoare pentru variabila n astfelnct s se afieze valoarea 0.

    3) Scriei un program pseudocod echivalent cu algoritmul dat care s conin ostructur repetitiv cu test final.

    4) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    25. Se consider programulpseudocod alturat n care s-a notat cux%y restul mpririi ntregi a lui xla yi

    cu [x]partea ntreag a numrului realx.

    citete n (nr. natural,n>1)d

    2 (d numr natural) cat timp n%d0 execut

    dd+1 cat timp n%d=0 execut n[n/d] dac n=1 atunci scrie d altfel scrie n

    1) Ce se va afia pentru n = 45?

    2) Scriei o valoare cu dou cifre carepoate fi introdus pentru variabila nastfel nct s se afieze valoarea 2.

    3) Cte valori distincte poate primi variabila nastfel nct s se afieze valoarea 4?

    4) Scrieiprogramul Pascal/C/C++ corespunztor algoritmului dat.

  • 7/27/2019 2. Probleme Algoritmi

    9/39

    43

    26. Se consider programul pseudocodalturat:

    S-a notat cu x%y restul mpririi numerelorntregi x i y i cu [x] partea ntreag a

    numrului real x.

    citete a(numr natural)b0ct timp a>0 executdac a%2>0 atunci

    bb*10+a%10a[a/10]scrie b

    1) Care este valoarea afiat pentrua=1789?

    2) Determinai cea mai mare valoarentreag, formata din patru cifre pentruvariabila a astfel nct rezultatul afiats fie 15.

    3) Cte valori distincte, numere naturale, cuprinse intre 0i 50, inclusiv, poate sprimeasc variabila apentru ca algoritmul sa afieze valoarea 0?

    4) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    27. Se consider programul pseudocodalturat:

    citete n (numr natural)i

    0; j

    1ct timp jn execut k

    i; i

    j; j

    i+kscrie j

    1) Care este valoarea afiat pentru n=20?2) Determinai cea mai mic valoare

    natural a variabilei n astfel nctrezultatul afiat s fie 34.

    3) Pentru cte valori naturale distincte ale variabilei n, algoritmul afieaz 13.

    4) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    28. Se consider programul pseudocodalturat:

    S-a notat cu x%y restul mpririi numerelorntregi x i y i cu [x] partea ntreag anumrului real x.

    citete n (nr. natural)s1 0; s2 0

    nr 0ct timp n0 execut dac n % 2 = 0 atunci s1 s1 + n % 10 altfel s2

    s2+n % 10 n [n/10]dac s1 = s2 atunci nr 1scrie nr

    1) Care este valoarea afiat pentrun=50324?

    2)Pentru n = ba231 , unde a este cifrasutelor iarb este cifra unitilor, cteperechi ordonate (a,b) de cifre existpentru ca valoarea afiat s fie 1.

    3) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    4) Sse scrie un program pseudocod echivalent cu cel dat folosindu-se un alttip de structur repetitiv.

  • 7/27/2019 2. Probleme Algoritmi

    10/39

    44

    29. Se consider programul pseudocodalturat:

    S-a notat cu x%y restul mpririi numerelorntregi x i y i cu [x] partea ntreag anumrului real x.

    citete n {nr. natural}max 0ct timp n0 executn [n/10]

    dac max0executa s1s1+n%10 n[n/10] s2

    s2+n%10

    n[n/10]

    dac s1=s2 atunci scrie 1altfel scrie 0

    1) Ce se va afia pentru n=12345?

    2) Scriei o valoare cu dou cifre care

    poate fi introdus pentru variabila nastfel nct s se afieze valoarea 1.

    3) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    4) Cte valori distincte cu dou cifre pot fiintroduse pentru variabila n astfel ncts se afieze valoarea 1?

    31. Se consider programul pseudocod

    alturat :

    citete x,y(numere naturale , x

  • 7/27/2019 2. Probleme Algoritmi

    11/39

    45

    32. Se consider programul pseudocodalturat:

    S-a notat cu x%y restul mpririi numruluinatural xla numrul natural nenul y.

    citete x, yp 1ct timp y > 0 execut

    dac y % 2 = 0 atunci y y 2 p p * x * x altfel y y 1 p p * x scrie p

    1) Ce seafieazdac x=2i y=9?2) Ce valoare trebuie introdus pentru

    variabila xdac valoarea citit pentru yeste 4i algoritmul afieaz 256?

    3) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    4) Scriei un algoritm pseudocod echivalentcu cel dat n care snu se utilizeze niciostructur dac.

    33. Se consider programul pseudocodalturat:

    S-a notat cu x%yrestul mpririi numrului naturalxla numrul natural nenul y.

    citete n(numr natural)i1ct timp in executdac n%i=0 atunci scrie i;ii+1 altfel ii+2

    1) Ce se afieaz pentru n=15?2) Determinai cte valori de dou cifre se pot

    introduce pentru variabila nastfel nct sse afieze numai valoarea 1.

    3) Dorim s nlocuim structura de decizie din algoritmul dat cu secvena

    urmtoare astfel nct algoritmul obinut s fie echivalent cu cel dat. Cu ceinstruciune putem s completm punctele de suspensie?dac n%i=0 atunci scrie i ...i

    i+24) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    34. Se consider programul pseudocod

    alturat:S-a notat cu x%yrestul mpririi lui xla yi cu[x]partea ntreag a numrului real x.

    m0; k0

    citete x (x nr natural)ct timp x>0 execut cx%10; x[x/10]

    dac c>m atunci m

    c; k

    1 altfel dac c=m atunci k

    k+1

    scrie m,k

    1) Care este valoarea afiat pentrux=783851?

    2) Dai un exemplu de valoare care, daceste citit atunci algoritmul afieazvalorile 53.

    3) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

  • 7/27/2019 2. Probleme Algoritmi

    12/39

    46

    35. Se consider programul pseudocodalturat:

    S-a notat cu ab operaia de interschimbare avalorilor variabilelor a ib i cu [x] parteantreag a numrului real memorat n variabila x.

    citete a,b (numerenaturale)dac ab execut

    a

    [a/10]dac a=b atunci scrie 'DA'altfel scrie 'NU'

    1) Ce se afieaz dac se citesc valorile56398 i 398560pentru ai respectivb?

    2) Dac a=5100, determinai o valoare de 3cifre pentru variabila b astfel nct s seafieze DA.

    3) Scriei programul Pascal/C/C++ corespunztor.4) Scriei programul pseudocod sau Pascal/C/C++ care s fie echivalent cu

    programul dat, cu excepia cazurilor n care valorile iniiale ale variabilelor aibsunt egale. n aceste cazuri, trebuie s se afiezeNU.

    36. Se consider programul pseudocodalturat n care s-a folosit notaia [a]pentrupartea ntreag a numrului real a.

    citete n (numr ntreg, n>0)k0; c0

    nauxncat timp naux>0 executnaux

    [naux/10]

    k

    k+1

    cc*10+1

    pentru i

    1,k executn

    n-c; c

    [c/10]

    scrie n

    1) Care este valoarea afiat pentru n=1234?2) Scriei o valoare de dou cifre pentru

    variabila nastfel nct s se afieze 1.3) Pentru cte valori distincte ale lui n,numr

    natural cu maximum 3 cifre se afieazvaloarea 0?

    4) Scriei programul Pascal/C corespunztoralgoritmului dat.

    37. Se consider programul pseudocod alturat:S-a notat cu x%yrestul mpririi numerelor ntregi xi yi cu [x]partea ntreaga numrului real x.1) Ce va tipri algoritmul pentru 2793?

    citete n {nN}

    a

    n%10; m

    a

    ct timp n>9 executn[n/10]; bn%10dac a>b atunci m

    m*10+b; a

    bscrie m

    2) Scriei programul PASCAL/C/C++corespunztor algoritmului.

    3) Scriei algoritmul pseudocod, echivalent cucel dat, care folosete un alt tip de structurrepetitiv.

    4) Dai exemplu de o valoare nenul pentru n,astfel nct rezultatul afiat s fie 0.

  • 7/27/2019 2. Probleme Algoritmi

    13/39

    47

    38. Se consider programul pseudocod alturat:S-a notat cu x%y restul mpririi numrului natural x la numrul natural y, iar cu[x]partea ntreag a numrului real x.1) Ce se afieaz dac numrul citit este

    6?

    citete a(anumr natural, a>1)n0

    d

    2ct timp da execut

    i

    0ct timp a%d=0 atunci a

    [a/d]; i

    1

    nn+i; dd+1scrie n

    2) Care este cel mai mic numr caretrebuie citit astfel nct s se afiezevaloarea 3?

    3) Scriei programul PASCAL/C/C++corespunztor algoritmului dat.

    4) Scriei un program pseudocodechivalent cu cel dat n care fiecarestructur ct timp...executs fie

    nlocuit cu o structur repetitiv cu testfinal.

    39. Se consider programul pseudocod alturat:

    1) Care sunt valorile afiate pentrua=7?

    citete a (numr natural,a>0) b

    (a+2)*(a+3); k

    0

    ct timp (b-a0)execut bb-a; kk+1

    scrie b,k

    2) Stabilii o valoare pentru variabila aastfel nct dup executareasecvenei,bs fie 0.

    3) Scriei programul PASCAL/C/C++corespunztor algoritmului dat.

    4) Scriei un program PASCAL/C/C++ echivalent cu algoritmul dat, dar n cares nu se utilizeze structuri repetitive.

    40. Se consider programulpseudocod alturat:

    S-a notat cu x%yrestul mpririi numerelorntregi x i y i cu [x] partea ntreag a

    numrului real x.

    citete n (nr. natural)i 1ct timp i0 execut nr nr*10+x%10 x [x/1000] scrie nr i i+1

    1) Ce valori vor fi afiate pentruurmtoarele numere citite de latastatur: 5, 12345, 2007,31005,124, 9356.

    2) Scriei un set de date de intrare,distincte, astfel nct s se afieze detrei ori numrul 71.

    3) Scriei programul Pascal/C/C++corespunztor algoritmului dat.4) Scrieiprogramul pseudocod care s fieechivalent cu algoritmul dat i care s

    conin o structur repetitiv cu numr cunoscut de pai n loc de o structurrepetitiv cu test iniial.

  • 7/27/2019 2. Probleme Algoritmi

    14/39

    48

    43. Se consider programulpseudocod alturat:

    S-a notat cu x%yrestul mpririi lui xlayi cu [x]partea ntreag a numruluireal x.

    citete n,k(n,k numere naturale)

    s0ct timp n>0 i k>0 execut cn%10 dac c%2=0 atunci s

    s+c

    n[n/10]; kk-1scrie s

    1) Care este valoarea afiat pentrun=83425i k=3?

    2) Pentru k=3 stabilii o valoarenenul pentru n astfel nctrezultatul afiat s fie 0.

    41. Se consider programulpseudocod alturat:

    S-a notat cu a mod brestul mpririi lui alab icu adivbctul mpririi lui alab.

    citete a,b {a,b

    N}

    k

    1ct timp a+b>0 execut dac a mod 10b mod 10

    atunci k

    0 aa div 10 b

    b div 10scrie k

    1) Ce se va afia pentru a=123 ib=213?

    2) Indicai o valoare pentru variabila aio valoare pentru variabilabastfel nctalgoritmul s afieze valoarea 1.

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Scriei un program Pascal/C/C++ echivalent cu algoritmul dat care s nufoloseasc nici o instruciune repetitiv.

    42. Se consider programulpseudocod alturat:

    S-a notat cu a mod brestul mpririilui alab icu adivbctul mpririilui alab.

    citete n {nN,n2}k2; tnct timp t1 execut ct timp t mod k=0 execut m

    k; tt div k k

    k+1scrie m

    1) Ce se va afia pentru n=4840?

    2) Care este cea mai mic valoare format din exact 3cifre ce poate fi introduspentru variabila n astfel nct algoritmul s afieze valoarea 7?

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) nlocuii doarinstruciunea scrie mdin algoritmul dat cu una sau mai multeinstruciuni astfel nct noul algoritm s afieze mesajul "DA"n cazul n carenumrul neste prim, respectiv mesajul "NU"n caz contrar.

  • 7/27/2019 2. Probleme Algoritmi

    15/39

    49

    3) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    4) Scriei un program Pascal/C/C++pentru un algoritm echivalent cu algoritmuldat, n care s se utilizeze structura repetitiv cu numr cunoscut de pai (cucontor).

    44. Se consider programul pseudocod alturat.

    S-au folosit urmtoarele notaii:mod pentru restul mpririi ntregi i div pentructul mpririi ntregi.

    1) Care este valoarea afiat de acestalgoritm dac se citesc urmtoarelevalori: 2,15,78,3,0 citete a {numr natural}

    m

    0ct timp a0 execut

    d0 ct timp a mod 2=0 atunci d

    d+1; a

    a div 2 dac d>m atunci m

    d citete a {numr natural }scrie m

    2) Dai exemplu de un ir de 5 valori

    astfel nct s se afieze valoarea 0.

    3) Rescriei programul pseudocod dat,modificnd un numr minim de liniiastfel nct programul obinut safieze numrul de valori imparecitite.

    4) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    45. Se consider programul pseudocodalturat:

    S-a notat cu x%yrestul mpririi numerelor ntregi xiyi cu [x]partea ntreag a numrului real x.

    citete n(numr natural)

    s0; f2

    ct timp n>1 execut p0ct timp n%f=0 execut n[n/f]; pp+1

    dacp

    0 atunci s

    s+pf

    f+1scrie s

    1) Ce valoare se va afia pentru n=480?

    2) Scriei programul corespunztoralgoritmului dat.

    3) Stabilii cte valori din intervalul [10,40]pot fi introduse pentru variabila n, astfel

    nct dup executarea programului,valoarea afiat s fie 1.

    4) Dai exemplu de trei valori diferite pentru n astfel nct rezultatul afiat defiecare dat, s fie un numr mai mare dect 5, acelai pentru toate cele treivalori stabilite pentru n.

  • 7/27/2019 2. Probleme Algoritmi

    16/39

    50

    46. Se consider programul pseudocodalturat:

    S-a notat cu x%y restul mpririi lui xla yi cu[x] partea ntreag a numrului real x.

    citete n {n nr natural}a0; p1ct timp n0 execut ct timp n>9 execut n

    [n/10]

    a

    n*p+a; p

    p*10 citete nscrie a

    1) Care este valoarea afiat dac se

    introduc de la tastatur valorile 59, 480,16, 329, 0?

    2) Dai exemplu de un ir de valori cetrebuie citite astfel nct valoarea afiats fie 123?

    3) Scriei programul Pascal/C/C++corespunztor algoritmului dat.4) Scriei un algoritm echivalent cu algoritmul dat, care s foloseasc doar

    structuri repetitive cu test final.

    47. Se consider programul pseudocodalturat:S-a notat cu x%yrestul mpririi lui xla yi cu[x]partea ntreag a numrului real x.

    citete a,b(a,b nr. naturale, a0 execut dac n%10%2=1 atunci c

    1 n

    [n/10]

    dac c=0 atuncikk+1

    scrie k

    1) Ce se va afia pentru a=204ib=212?2) Pentru a=24care sunt valorile care citite

    pentrubdetermin afiarea valorii 4.3) Scriei programul Pascal/C/C++

    corespunztor algoritmului dat.

    4) Dai un exemplu de valori pentru aib(am atunci m cif;nr 1 altfel dac cif=m atuncinr

    nr+1 scrie nr

    1) Ce valoare va fi afiat dac se citesc

    urmtoarele valori: 5, 372, 477,21, 27, 517?2) Pentru n=5, scriei cele 5 valori care

    se introduc, pe rnd, pentru variabilaxastfel nct rezultatul afiat s fie 4.

    3) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    4) Scriei un program pseudocod echivalent cu algoritmul dat care s conin unalt tip de structur repetitiv n loc de structura repetitiv cu numr cunoscutde pai.

  • 7/27/2019 2. Probleme Algoritmi

    17/39

    51

    49. Se consider programulpseudocod alturat:

    S-a notat cu x%y restul mpririinumerelor ntregi x i y i cu [x]partea ntreag a numrului real x.

    citete a,b(numere naturale)c0pentru i=1,a executdac b%i=0 atuncidac a%i=0 atunci ci

    dac c>0 atunci scrie c

    1) Care este valoarea afiat pentrua=30 ib=42?

    2) tiind c b=39, determinai ceamai mare valoare de maximum 2

    cifre a variabilei a astfel nctrezultatul afiat s fie 1.

    3) Scriei un algoritm pseudocod, echivalent cu cel dat, care s utilizeze ostructur repetitiv cu test iniial n locul structurii repetitive folosite n acestalgoritm.

    4) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    50. Se consider programulpseudocod alturat:

    S-a notat cu x%y restul mpririinumerelor ntregi x i y.

    citete n,m (numr natural)b

    0

    pentru x=n,m executdac x>=2 atunci a2ct timp x%a>0 execut aa+1

    dac x=a atunci bb+1scrie b

    1) Care este valoarea afiat pentrun=20im=30?

    2) tiind cm=22, determinai cea mai

    mic valoare ntreag i pozitiv pentruvariabila n astfel nct rezultatul afiats fie 2.

    3) tiind c n=10, precizai care este numrul valorilor distincte ale luimastfelnct algoritmul s afieze valoarea 2.

    4) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    51. Se consider programul pseudocod alturat

    n care s-a notat cu x|y relaia x divide pe ysau yeste divizibil cu x.

    citete n,a,b

    (ntregi, a0)s0pentru i=a,b execut dac n|i atunci ss+1 scrie s

    1) Ce seva afia pentru a=20,b=50,n=7?2) Pentru n=5, determinai cte o valoare de dou

    cifre pentru fiecare dintre variabilele a ibastfel nct rezultatul afiat s fie zero.

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.4) Scriei un program Pascal/C/ C++ care s fie echivalent cu algoritmul dat i

    care s nu conin nicio structur repetitiv.

  • 7/27/2019 2. Probleme Algoritmi

    18/39

    52

    52. Se consider programulpseudocod alturat:

    S-a notat cu x%y restul mpririi numruluinatural x la numrul natural y, iar cu [x]

    partea ntreag a numrului real x.

    citete n (numr natural)pentru i

    1,n execut

    p1

    pentruji,2,-1

    execut

    pp*jscrie [p/(i*2)]

    1) Ce se afieaz dac valoarea cititeste 3?

    2) Care este cea mai mic valoare citit pentru nastfel nct n irul valorilorafiate s existe cel puin 3numere care au ultima cifr 0i care s se aflepe poziii consecutive?

    3) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    4) Scriei un program pseudocod echivalent cu cel dat care s utilizeze osingur structur repetitiv.

    53. Se consider programul pseudocodalturat:

    S-a notat cu [x]partea ntreag a numrului realx.

    citete n (n>6natural)S0

    pentru i1,n execut SS+idac S>10 atunci S[S/2]

    scrie S

    1) Care este valoarea afiat dac n=10?2) Determinai o valoare pentru variabila n

    astfel ncts se afieze valoarea33.

    3) Scriei un program pseudocod echivalent cu programul dat, care s nuconin nici o structur repetitiv.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    54. Se consider programul pseudocodalturat:

    S-a notat cu x%y restul mpririi numerelor

    ntregi x i y i cu [x] partea ntreag anumrului real x.

    citete n {nN*}S

    0

    pentru i=1,n-1 execut

    pentru j=i+1,n execut SS+1scrie S

    1) Ce va afia algoritmul pentru n=7?

    2) Scriei programul Pascal/C/C++corespunztor algoritmului.

    3) Scriei algoritmul pseudocod, echivalent cu cel dat care folosete numaistructuri repetitive ct timp.

    4) Scriei un algoritm echivalent cu cel dat, n limbaj pseudocod sau limbaj de

    programare, care s nu utilizeze nici o structur repetitiv.

  • 7/27/2019 2. Probleme Algoritmi

    19/39

    53

    55. Se consider programul pseudocod alturat:S-a notat cu x % yrestul mpririi numrului natural xla numrul natural nenul y1) Ce se va afia dac se citesc pentru

    n valoarea 5 i pentru x valorile:16, 8, 48, 0,24?

    citete n(numr natural)d 0

    pentru i1, n execut citete x

    dac d = 0 atunci d x altfel repet r x % d; x d d r pn cnd r = 0 d x scrie d

    2) Dac n = 4, daiexemplu de patruvalori pentru x, pentru care

    algoritmul scrie 1.3) Scriei programul Pascal/C/C++

    corespunztor algoritmului dat.4) Scriei un algoritm pseudocod

    echivalent cu algoritmul dat care sutilizeze n locul structurii repetitiverepet pn cnd o structur

    repetitiv condiionat anterior.

    56. Se consider programul pseudocodalturat:

    S-a notat cu x%yrestul mpririi numrului naturalx la numrul natural nenul y, iar cu [x/y]ctul mpririi

    s 0

    citete n(numr natural)pentru i 1,n execut citete x(numr natural) nr x % 10ct timp x>9 execut nr nr * 10 x [x/10]

    s s + nrscrie s

    1) Ce se va afia dac se citesc pentru nvaloarea5i pentru x,n ordine, valorile:

    123, 22, 5324, 1, 86935?2) Dac n=4, dai valori pentru xastfel ncts seafieze 1234.

    3) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat, folosind nloc de structura ct timpalt tip de structur repetitiv.

    57. Se consider programul pseudocod

    alturat:

    S-a notat cu a mod brestul mpririi lui alab icu adivbctul mpririi lui alab.

    citete n {n nr. natural}k

    0

    pentru i0,9 execut x

    n ct timp x>0 execut dac xmod 10=i atunci k

    i x

    x div 10 scrie k

    1) Ce se va afia pentru n=27155?2) Scriei o valoare format din exact 4

    cifre pentru variabila n astfel nctalgoritmul s afieze valoarea 4.

    3) Scriei un program pseudocod echivalent cu cel dat pentru toate valorileposibile ale lui ni care s conin o singur structur repetitiv.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

  • 7/27/2019 2. Probleme Algoritmi

    20/39

    54

    60. Se consider programul pseudocodalturat:

    S-a notat cu x%y restul mpririi numerelorntregi x i y i cu [x] partea ntreag anumrului real x.

    citete a,b {a,b N}s0; xa%10*10+a%10

    y

    b%10*10+b%10

    pentru i=x,y executdac[i/10]=i%10 atunci ss+1

    scrie s

    1) Ce va tipri algoritmul pentru a=132 ib=2464?

    2) Scriei programul Pascal/C/C++

    corespunztor algoritmului.

    58. Se consider programulpseudocod alturatn care s-a notat cu

    3n faptul c neste divizibil cu 3

    citete a,b(numere naturale nenule, ab)

    S 0pentru n=a,b execut dac 3n atunci S S n altfel S S + nscrie S

    1) Ce se va afia dac se citesc valorile 8i17?

    2) Scriei toate perechile de valori de o cifrcare dac sunt citite n acest algoritm,determin fiecare afiarea valorii 0.

    3) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

    4) Scriei un program pseudocod care s fie echivalent cu algoritmul dat i cares nu foloseasc structuri repetitive.

    59. Se consider programulpseudocod alturat:

    S-a notat cu a mod brestul mpririi lui alab i cu adivbctul mpririi lui a lab.

    citete n {nN}pentru i1,n-2 executpentru j

    i+1,n-1 executpentru kj+1,n executdac k*k=i*i+j*j atunci scrie i,j,k

    1) Ce se va afia pentru n=6?

    2) Care este cea mai mare valoare ce poate fi introdus pentru n astfel nctalgoritmul s afieze doar tripletele 3,4,5i 6,8,10?

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Scriei un program Pascal/C/C++ echivalent cu algoritmul dat care s

    foloseasc doar dou structuri repetitive.

  • 7/27/2019 2. Probleme Algoritmi

    21/39

    55

    3) Scriei algoritmul pseudocod echivalent cu cel dat care folosete un alt tip destructur repetitiv.

    4) Scriei un algoritm echivalent cu cel dat, n limbaj pseudocod sau limbaj deprogramare, care s nu utilizeze nici o structur repetitiv.

    61. Se consider programul pseudocodalturat:

    citete n{numr natural nenul}

    s0; x2

    pentru i1,n execut

    ss+x x

    x+2scrie s

    1) Ce se va afia pentrun=8?

    2) Scriei o valoare strict pozitiv pentru variabila nastfel nct s se afieze valoarea 132?

    3) Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care snu conin nicio structur repetitiv.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat62. Se consider programul pseudocod

    alturat:S-a notat cu x%y restul mpririi numruluinatural xla numrul natural y.

    citete a, b(numere naturale 0

  • 7/27/2019 2. Probleme Algoritmi

    22/39

    56

    64. Se consider programulpseudocod alturat:

    S-a notat cu x%y restul mpririi numruluinatural xla numrul natural nenul y

    citete a,n(numere naturale)

    j

    3

    pentru i=1,n executdac i%2=0

    atunci aa-j altfel aa+j j

    7-j

    scrie a

    1) Care este valoarea afiat dac a=12in=10?

    2) Dai exemplu de numr natural caretrebuie citit n variabila n astfel nctpentru a=32, s se afieze valoarea34.

    3) Scriei un program pseudocod echivalent cu programul dat, care s nu coninnici o structur repetitiv.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    65. Se consider programul pseudocodalturat:

    S-a notat cu x%y restul mpririi numruluinatural xla numrul natural nenuly

    citete a,n(numere naturale)

    pentru i=1,n executdac i%2=0 atunci a

    a-i

    altfel aa+iscrie a

    1) Care este valoarea afiat dac a=12in=10?

    2) Determinai o valoare pentru variabila n

    astfel nct, pentru valoarea iniiala=32, s se afieze 34.

    3) Scriei un program pseudocod echivalent cu programul dat, care s nuconin nici o structur repetitiv.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat

    66. Se consider programulpseudocod alturat, n care s-a notatcu [x] partea ntreag a numrului real

    x.

    citete n (numr natural)nr

    0pentru i=1,[n/2]execut

    ji; s0 ct timp s

  • 7/27/2019 2. Probleme Algoritmi

    23/39

    57

    67. Se consider programulpseudocod alturat:

    S-a notat cu x%yrestul mpririi numerelorntregi x i y i cu [x] partea ntreag a

    numrului real x.

    citete a>b

    (numere naturale, ab)

    k0

    pentru ia,b execut nr

    0;aux

    i

    ct timp aux

    0 execut nrnr*10+aux%10 aux

    [aux/10] dac nr0)repeta bn%10; n[n/10]pana cand b>=n%10scrie n1) Ce se afieaz pentru n=23751?

    2) Scriei o valoare cu trei cifre care poate fi introdus pentru variabila n astfelnct s se afieze valoarea 0.

    3) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    4) Adugai o structur alternativ la sfritul algoritmului care s afieze, n plus,mesajul DA dac cifrele numrului n sunt n ordine strict descresctoare imesajulNUn caz contrar.

    69. Se consider programulpseudocod alturat:S-a notat cu a%b

    restul mpririi numrului ntreg a lanumrul ntregb.

    n0repetcitete x {x numr natural}

    dac x0 atunci dac x%2=0 atunci nn+1 altfel nn-1 pn cnd x=0 dac n=0 atunci scrie DA altfel scrie NU

    1) Scriei un ir de valori pentru variabilaxastfel nct programul s afieze, nurma executrii, mesajul DA.

    2) Scriei un ir de valori pentru variabilaxastfel nct programul s afieze, nurma executrii, mesajul NU.

    3) Scriei un program pseudocodechivalent cu algoritmul dat care sconin o structur repetitiv cu testiniial.

    4) Scriei programul Pascal/C/C++corespunztor algoritmului dat.

  • 7/27/2019 2. Probleme Algoritmi

    24/39

    58

    70. Se consider programul pseudocodalturat:

    S-a notat cu x%y restul mpririi numruluintreg xla numrul ntreg y i cu [z] parteantreag a numrului real z.

    citete n {numr natural }x0repet x

    x*10+n%10

    n

    [n/10] en*(n-x)*([n/10]-x)pn cnd e=0

    dac n>0 atunci scrie A altfel scrie B

    1) Ce se va afia pentrun=123321?

    2) Scriei dou valori, numere naturaleconsecutive formate fiecare din cte cincicifre, pentru variabila n astfel nctrezultatele afiate s fie diferite.

    3) Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care sconin o structur repetitiv cu test iniial.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    71. Se consider programul pseudocodalturat:

    S-a notat cu x%yrestul mpririi numrului naturalxla numrul natural yi cu [z]partea ntreag anumrului real z.

    citete n {numr natural }x

    0

    p1repet xx+(9-n%10)*p n

    [n/10] p

    p*10pn cnd n=0

    scrie x

    1) Ce se va afia pentrun=102206?2) Scriei o valoare care poate fi introdus

    pentru variabila n astfel nct rezultatul

    afiat n urma executrii algoritmului s fie7210.

    3) Scriei programul pseudocod care s fie echivalent cu algoritmul dat i care sconin o structur repetitiv cu test iniial.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    72. Se consider programul pseudocodalturat:

    S-a notat cu x%y restul mpririi numruluinatural x la numrul natural y, iar cu [x]

    partea ntreag a numrului x.

    citete a,b(numere naturale nenule)

    c

    0repet

    i

    a%2

    j

    b%2 dac i+j=0 atunci

    c

    c+1 aa*i+(1-i)*[a/2]

    b

    b*j+(1-j)*[b/2] pn cnd i*j=1scrie c

    1) Ce se afieaz dac numerele citite sunt24i 36?

    2) Scriei dou valori care trebuie citite (unapentru variabila ai una pentru variabilab) astfel nct n urma executrii

    algoritmului s se afieze valoarea 0.3) Scriei programul Pascal/C/C++

    corespunztor algoritmului dat.4) Scriei un program pseudocod echivalent cu cel dat n care structura

    repet...pn cnd...s fie nlocuit cu o structur repetitiv cu testiniial.

  • 7/27/2019 2. Probleme Algoritmi

    25/39

    59

    73. Se consider programul pseudocodalturat n care s-a folosit notaia [x] pentrupartea ntreag a lui x.

    citete n (numr natural)repet n[n/10]pn cnd n

  • 7/27/2019 2. Probleme Algoritmi

    26/39

    60

    76. Se consider programul pseudocodalturat:

    S-a notat cu x%y restul mpririi numerelorntregi x i y i cu [x] partea ntreag a

    numrului real x.

    citete n (nr natural)x0repet xx*10+n%10 n[n/10]pn cnd n=0repet nn*10+x%10 x[x/100]pn cnd x=0scrie n

    1) Ce se afieaz dac se citete de latastatur numrul n=29357?

    2) Scrieio valoare de 5cifre pentru nastfelnct rezultatul afiat s fie 123.

    3) Scriei un program pseudocod echivalentcu algoritmul dat care s conin alt tip destructuri repetitive.

    4) Scrieiun program Pascal/C/C++corespunztor algoritmului dat.

    77. Se consider programul pseudocodalturat:

    S-a notat cu [x]partea ntreag a numrului realx, i cu x%yrestul mpririi lui xla y

    citete a,b(numere naturale)

    s

    0

    repet

    dac a%20 atunci

    ss+b a[a/2]; bb*2 pn cnd a9)p10; q1repet pp*10; qq*10pn cnd q

  • 7/27/2019 2. Probleme Algoritmi

    27/39

    61

    3) Cte valori distincte de trei cifre exist pentru variabila n astfel nct s seafieze 3?

    4) Scriei programulPascal/C/C++ corespunztor algoritmului dat.

    79. Se consider programul pseudocod alturat. S-au folosit urmatoarelenotaii: x mod yi x div ypentru restul, respectiv ctul mpririi ntregi a lui xla yi |x|pentru valoarea absolut a numrului x.

    1) Ce se va afia pentrux=123476? citete x{numr natural >1}t0;sp0;si0;

    y

    x;repet t

    t+1

    xx div 10

    pn cnd x0pentru p

    t,1,-1 execut c

    y mod 10

    yy div 10

    dac p mod 2=0 atunci sp

    sp+c

    altfel si

    si+c dac |si-sp| mod 11=0 atunci scrie DA

    altfel scrie Nu

    2) Cte valori distincte de dou cifrese pot introduce pentru variabila xastfel nct, de fiecare dat, s seafieze mesajul Da?

    3) Scriei programul pseudocod cares fie echivalent cu algoritmul dat,dar n care s se nlocuiascstructura repetitivpentru cu ostructura repetitiv cu test final.

    4) Scrieti programul Pascal/C/C++corespunztor algoritmului dat.

    80. Se consider programulpseudocod alturat.

    S-au folosit urmtoarele notaii: modpentru restul mpririi ntregi iar divpentru ctul mpririi ntregi.

    citete x {x nr.natural}pentru c0,9 execut yx; p0 repet dac y mod 10=c atunci p

    p+1 y

    y div 10

    pn cnd y=0 dac p>1 atunciscrie c

    1) Ce se va afia pentrux=1232189?

    2) Dai o valoare pentru numrul xastfel nct algoritmul s nuafieze nimic.

    3) Scriei un program pseudocod care s fie echivalent cu cel dat, dar n cares se nlocuiasc structura repetitivpentru cu o structur repetitiv cutest iniial.

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

  • 7/27/2019 2. Probleme Algoritmi

    28/39

    62

    81. Se consider programul pseudocod alturat.S-au folosit urmtoarele notaii:mod pentru restul mpririi ntregi i div pentructul mpririi ntregi.

    1) Ce se va afia pentrux=1939? citete x {nr.natural}

    v

    0; z

    1;repet ax mod 10

    dac a>5 atunci vv+z*5

    altfel vv+z*a x

    x div 10;z

    z*10pn cnd x=0scrie v

    2) Indicai cea mai mare valoare posibilpentru x astfel nct algoritmul safieze valoarea 2355.

    3) nlocuind structura daccu secvenadac a>5 atunci...v...

    trebuie s obinem un algoritm echivalent cucel dat. Cu ce trebuie nlocuitepunctele de suspensie?

    4) Scriei programul Pascal/C/C++ corespunztor algoritmului dat.

    82. Se consider programul pseudocodalturat n care:

    - [x] reprezintparteantreag a lui x- dn reprezint faptul c ne divizibil cu d

    citete n (numr natural, 1

  • 7/27/2019 2. Probleme Algoritmi

    29/39

    63

    84. Scriei un program care rezolv urmtoarea problem: se citesc de la tastaturdou numere naturale distincte, fiecare de maximum 7cifre. S se afieze ctuli restul mpririi celui mai mare dintre cele dou numere la cel mai mic dintrecele dou numere. Dac mprirea nu se poate efectua, se va afia mesajulEROARE.

    85. Scriei un program care rezolv urmtoarea problem: se citesc trei numerereale pozitive. S se afieze mesajul DA dac cel puin unul dintre ele areproprietatea c este egal cu media geometric a celorlalte dou i mesajulNUdac nici unul dintre ele nu este egal cu media geometric a celorlalte dou.

    86. Scriei un program care rezolv urmtoarea problem: se citete un numrntreg format din cel mult 8cifre. S se afieze mesajul DAdac toate cifrelenumrului citit sunt identice; n caz contrar, s se afieze mesajulNU.

    Exemple:

    dac se citete unul dintre numerele 777777sau -9999se va afia mesajulDA;

    dac secitete unul dintre numerele 777767sau -9099se va afia mesajulNU.

    87. Scriei un program care citete trei valori reale distinctenotate a,b, ci careafieaz una dintre urmtoarele valori:

    1dac a < b < c; 2dac a > b > c; 3dacbeste cea mai mare dintre cele trei valori; 4dacbeste cea mai mic dintre cele trei valori;

    88. Scriei un program care citete de la tastatur o valoare natural impar n(1n1000) i apoi calculeaz i afieaz pe ecran, cu exact patru zecimale,valoarea expresiei:

    n...-54321

    Exemplu: dac se citete pentru n valoarea 3, programul va afia valoarea1,3178

    89. Scriei un program Pascal/C/C++ care citete de la tastatur un numr real aiafieaz pe ecran, pe acelai rnd i separate printr-un spaiu, dou numerentregi consecutive xi y, cu proprietatea c xa

  • 7/27/2019 2. Probleme Algoritmi

    30/39

    64

    De exemplu, pentru a=23467se afieaz 3.

    92. Se consider irul f:1,5,2,13,10,...generat dup regula de mai jos, ncare s-a notat cu [x]partea ntreag a numrului x:

    imparnnpentruf

    parnnpentruf

    npentru

    f

    n

    nn

    ,1*2

    ,13*2

    11

    ]2/[

    ]2/[

    a) Scrieiun program care citete un numr natural x(cu cel mult 9cifre) apoiafieaz pe ecran mesajul DA dac x este termen al irului dat, respectivmesajulNUn caz contrar. Se va utiliza un algoritm eficient din punct de vedereal memoriei utilizate i al timpului de executare.Exemplu:pentrux=10se va afiaDA

    b) Descriei metoda utilizat i explicai n ce const eficiena ei.

    93. Pentru dou puncteA, B din plan, puncte date prin coordonatele lor ntregi(xa,ya), (xb,yb), se cere s se verifice dac punctele A i B sunt egaldeprtate de originea axelor de coordonate. Amintim c distana n plan dintrepunctele P1(x1,y1) i P2(x2,y2) se calculeaz cu ajutorul formulei

    d(P1,P2)= 2

    21

    2

    21 )()( yyxx .

    Scriei programul Pascal/C/C++ care citete de la tastatur cele 4 numerentregi i afieaz pe ecran mesajul DA n cazul n care A i B se afl la

    aceeai distan de punctul O (originea) i afieaz mesajul NU n caz contrar.

    94. Pentru un numr x citit de la tastatur, valoare real pozitiv cu cel mult 5 cifrela partea ntreag i cel mult 4 zecimale,se cere s se afieze dou numerenaturale a ib astfel nct raportul a/b s fie egal cu x. Scriei programulPascal/Ccorespunztor.

    De exemplu, pentru x=1.20, o soluie posibil este 6 5.

    95. Scriei un programPascal/C/C++ care citete de la tastatur un numr natural n

    cu cel mult nou cifre i care determin dac exist un numr natural k cuproprietatea c n=1

    2

    3

    k. Dac exist un astfel de numr, programul va afiape ecran mesajul DA urmat de numrul k, separate printr-un spaiu, altfel vaafia mesajulNU (ca n exemple).

    Exemple: pentru n=720 se va afisa DA 6 pentru c 6!=720 (6!=1*2*3*4*5*6); pentru n=721se va afisa NU .

    96. Pentru trei numere reale a,b, ccitite de la tastatur, se cere s se afieze ovaloare ntreag xastfel nct suma distanelor de la xla fiecare dintre valorilea,b, c s fie minim. Valoarea determinat se va afia pe ecran. Definim

    distana (pe ax) dintre dou numere ui vprin valoarea absolut a difereneilor, |u-v|.

  • 7/27/2019 2. Probleme Algoritmi

    31/39

    65

    a) Alegei o metod corect i eficient de rezolvare i explicai n limbaj natural(pe maximum 5-6 rnduri) metoda aleas justificnd corectitudinea i eficienaacesteia.

    b) Scriei programul Pascal/ C/C++ corespunztor metodei alese.

    97. Se citesc de la tastatur numrul natural n (nb. Programul afieaz DAn caz afirmativ i NUn caz contrar.

    Exemple:9393939,515 sunt numere fierstru iar 9354539 nu este numrfierstru.

    99. Se citete de la tastatur un numr natural n (1

    n

    100). S se afieze peecran al n-lea termen al irului 11,22,33,44,55,66,77,88,99, 111,222,333,444,etc.

    De exemplu, dac n=11 se afieaz222.

    a) Alegei o metod eficient de rezolvare, descriind n limbaj natural metodafolosit i justificai eficiena acesteia ( cel mult 6 rnduri).

    b) Scriei programul Pascal/C/C++ corespunztor metodei descrise la punctula).

    100. Scriei programul Pascal/C/C++care afieaz pe ecran, separate prin virgul,toate numerele naturale de patru cifre care au prima cifr strict mai mic decta doua, a doua cifr strict mai mare dect a treia i a treia cifr strict mai micdect a patra.Exemplu: 1201,1202,1203,...,8979,8989

  • 7/27/2019 2. Probleme Algoritmi

    32/39

    66

    101.Pentru dou numere naturale n imcu maximum nou cifre fiecare,citite dela tastatur,numere care au cifrele n ordine cresctoare, se cere s se afiezepe ecran cel mai mare numr care se poate forma cu toate cifrelenumerelor nim.De exemplupentru n=35679 im=123789 se va tipri 99877653321.Alegei un algoritm eficient de rezolvare.

    a) Descriei strategia de rezolvare i justificai eficiena algoritmului ales, folosindlimbajul natural (5-6 rnduri).

    b) Scriei programul Pascal/C/C++corespunztor.

    102. Scriei un program eficient din punct de vedere al timpului de executare i alspaiului de memorie, care citete de la tastatur un numr natural n(n1000) i afieaz pe ecran cel de al n-lea termen al irului:

    1, 1,2,2, 1,2,3,3,3, 1,2,3,4,4,4,4, ...

    construit astfel: prima grup este format din numrul 1, a doua grup esteformat din numrul 1 urmat de numrul 2scris de dou ori, etc. Grupa a k-a, este format din numerele 1, 2,..., k-1urmate de numrul kscris de kori.

    103. Se citetede la tastatur un numr natural n (n100) i apoi n numere dinmulimea {1, 2, 3}. Se cere s se afieze cele n valori citite n ordinecresctoare.

    a) Descriei pe scurt un algoritm de rezolvare al problemei, eficient din punctde vedere al spaiului de memorie utilizat i al timpului de executare,explicnd n ce const eficiena metodei.

    b) Scriei programul Pascal/C/C++corespunztor algoritmului descris.

    Exemplu. Pentru n=19i valorile 3 3 3 3 2 1 2 1 3 2 1 3 2 1 1 3 32 3se va afia pe ecran irul :1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 3 3 3 3 .

    104. S se scrie un program Pascal/C/C++care citete de la tastatur un numrnatural n (cu cel puin 2 cifre i cel mult 9 cifre, toate nenule) i caredetermin i scrie pe ecran toate numerele obinute din nprin eliminarea cteunei singure cifre, n ordine: mai nti cifra unitilor, apoi cifra zecilor, apoicifra sutelor, etc. Numerele vor fi scrise pe o singur linie, dou numerealturate fiind separate printr-un singur spaiu.

    Exemplu:dac se citeteN=12345,se vor afia, n ordine, numerele:

    1234 1235 1245 1345 2345

    105. irul lui Fibonacci este definit astfel:t0=0, t1=1, tn=tn-1+tn-2. pentru n2.

  • 7/27/2019 2. Probleme Algoritmi

    33/39

    67

    Scriei programul care citete de la tastatur dou numere naturale a>b(1ab32000) i verific dac aceste numere sunt termeni consecutivi n irullui Fibonacci. Se va afia pe ecran un mesaj dac aibndeplinesc sau nu,condiiile din enun.Exemplu: pentru a=34,b=55se va afia pe ecran mesajul:

    sunt termeni consecutivi in sirul lui Fibonacci

    106.Scriei un program Pascal/C/C++ care s afieze pe ecran toate numerele parede dou cifre. Numerele vor fi scrise pe mai multe linii, cte cincipe fiecarelinie. Numerele de pe fiecare linie vor fi separate printr-un spaiu.

    107.Scriei programul Pascal/C/C++ care s afieze toate numerele impare de doucifre. Afiarea se va face pe ecran, cte dou numere pe fiecare linie, numerelede pe aceeai linie fiind separate printr-un spaiu.

    108.Pentru un numr natural n (1

  • 7/27/2019 2. Probleme Algoritmi

    34/39

    68

    111.Pentru dou valori a ib (numere naturale mai mici dect 1000, cu a

  • 7/27/2019 2. Probleme Algoritmi

    35/39

    69

    115. Scriei un program Pascal/C/C++ care citete de la tastatur un numrnatural n (0

  • 7/27/2019 2. Probleme Algoritmi

    36/39

    70

    120. Scriei un program Pascal/C/C++ care citete de la tastatur 10numere ntregi,determin i afieaz pe ecran media aritmetic a tuturor valorilor pozitive, cudou zecimale exacte.

    121. Scriei un program Pascal/C/C++ care citete de la tastatur dou numerenaturale a ib cu acelai numr de cifre (0

  • 7/27/2019 2. Probleme Algoritmi

    37/39

    71

    exist cel puin un numr natural strict mai mare dect ncare s aib exactaceleai cifre ca i n.

    a) Descriei metoda de rezolvare aleas folosind limbajul natural (3-4 rnduri)

    b) Scriei programul Pascal/C care citete de la tastatur valoarea lui n i

    afieaz pe ecran unul dintre mesajele EXISTAsauNU EXISTA.De exemplu, pentru n=165, se afieaz mesajul EXISTA, iar pentru n=81, seafieaz mesajulNU EXISTA.

    127. Pentru orice numr natural nenul n definim n factorial, notat n!, ca fiindprodusul tuturor numerelor naturale nenule mai mici sau egale cu n(n!=1*2*...*n).

    De exemplu: 3!=1*2*3=6, 5!=1*2*3*4*5=120

    a) Descriei n limbaj natural o metod eficient de determinare a numrului decifre nule aflate pe ultimele poziii consecutive ale valorii obinute n urmaevalurii lui n!, nfiind un numar natural nenul de cel mult 4cifre.De exemplu, dac n=10, cum 10!=3628800, rezultatul va fi 2, deoarece3628800are doi de 0la sfrit.

    b) Scriei un program Pascal/C/C++ corespunztor metodei descrise la punctulanterior, care citete de la tastatur un numr natural nenul nde cel mult 4cifrei afieaz pe ecran numrul de cifre nule aflate la sfarsitul lui n!.

    128. Se citesc de la tastatur trei numere naturale de cel mult 4cifre fiecare n,aibi se cere s se afieze pe ecran cte numere naturale mai mici sau egale cunsunt multipli ai lui a, dar nu sunt multipli ai luib. De exemplu, dac n=100,a=12, b=8, rezultatul afiat va fi 4(numerele mai mici sau egale cu 100caresunt multipli ai lui 12dar nu i ai lui 8sunt 12,36,60,84)a) Alegei o metod eficient de rezolvare i descriei n limbaj natural metodaaleas justificnd eficiena acesteia (4-6 rnduri).b) Scriei programul Pascal/C/C++ corespunztor metodei alese la punctul a).

    129. Scriei un program C/C++ care citete de pe prima linie a fiierului textBAC.TXT trei numere naturale nenule a,b,c formate din cel mult patru cifrefiecare, separate prin cte un spaiu i afieaz pe ecran cel mai mare divizorcomun al acestora. De exemplu, dac din fiierse citesc numerele: 9 27 15,atunci se afieaz 3.

    130. Scriei un program Pasca/C/C++ care citete de la tastatur trei numerenaturale x, y i k, ( 1x

  • 7/27/2019 2. Probleme Algoritmi

    38/39

    72

    numrul acestora.De exemplu, pentru x=3, y=12i k=5se vor afia pe ecrannu neaprat naceast ordine:3 5 7 11

    s-au gsit mai puine numere prime:4

    131. International Standard Book Number (ISBN) este un cod unic utilizat pentruidentificarea fiecrei cri, format din 9cifre urmate de o cifr de control carepoate fi o cifr sau caracterul xce reprezintnumrul 10. Semnificaia cifrelor

    din cadrului unui cod ISBN de forma 10...21 aaa este urmtoarea: 321 aaa

    identific ara, 7654 aaaa identific editura, 98aa identific numrul asociat

    crii iar a10 reprezint cifra de control calculat astfel nct

    10

    1 *][i iia s fiedivizibil cu 11. De exemplu 973 8934 05 2este un cod ISBN cu cifra decontrol 2. Scriei un program Pascal/C/C++ care citete de la tastatur unnumr natural cu 9cifre care reprezint primele 9poziii ale unui cod ISBN iafieaz pe ecran cifra de control corespunztoare.

    132. a) Scriei un program n limbajul Pascal/C/C++, eficient din punctul de vedereal duratei de executare, care afieaz toate numerele naturale formate din cifreidentice, mai mari dect 10 i mai mici dect o valoare dat n , n

  • 7/27/2019 2. Probleme Algoritmi

    39/39

    n exemplu.

    De exemplu, pentru n=6im=6se afieaz perechile:1 6

    2 3

    2 6

    3 6

    135. Scriei programul Pascal/C/C++ care citete de la tastatur un numr natural n(n