tablouri unidimensionale exercitii
Embed Size (px)
DESCRIPTION
exercitiiTRANSCRIPT
1
Tablouri
Tablouri
Tablouri unidimensionale
Parcurgeri (sume, numrri)
1. Fiind dat un vector de numere ntregi, s se determine suma elementelor pozitive din vector.Exemplu. Pentru vectorul se va afia 30 (=23+2+5).
2. S se afieze doar elementele pare dintr-un vector de numere ntregi.
Exemplu. Pentru vectorul (-2,4,15,3,8,13) se va afia 2, 4, 8.
3. Scriei un program care tiprete elementele pare aflate pe poziii divizibile cu 3 dintr-un vector de numere ntregi.
Exemplu. Daca vectorul iniial este (1,2,8,-4,7,9,120,53) se va afia 8.
4. S se afieze elementele pozitive de rang impar dintr-un vector de numere ntregi.
Exemplu. Pentru vectorul (2,-3,-1,43,3,1,-4,8,12) se va afia 2,3,12.
5. Se citete de la tastatur un vector cu n (1(n(100) componente de tip ntreg. Se cere s se construiasc i s se afieze un nou vector cu componentele ptrate perfecte din vectorul iniial.
Exemplu. Daca vectorul iniial este (2,4,8,25,3,66) al doilea vector va fi (4,25).
6. S se scrie un program care numr elementele pozitive, negative i respectiv nule dintr-un vector, parcurgndu-l o singur dat.
Exemplu. n vectorul (-3,4,30,-1,0,-22,0,376) se gsesc 3 numere pozitive, 3 numere negative i 2 numere nule.
7. S se determine media aritmetic a elementelor pare dintr-un vector de numere ntregi.
Exemplu. Pentru vectorul (-2,4,15,3,6,13) se va afia 2.66.8. S se calculeze suma elementelor negative i de valoare par dintr-un vector de numere ntregi.
Exemplu. Suma cerut n cazul vectorului (12,-4,9,7,-5,31,-74,515, -33,-8) este 86.9. Fiind dat un vector v cu n elemente numere ntregi, scriei un program care calculeaz produsul i numrul elementelor negative aflate pe poziii impare n vector.
Exemplu. n cazul vectorului (12,-4,9,7,-5,31,-74,515,-33,-8) avem 3 componente negative pe poziiile impare iar produsul lor este -12210. 10. S se afieze poziia pe care apare primul element pozitiv dintr-un vector citit de la tastatur.
Exemplu. n vectorul (-5,-8,-6,-41,-9,-1,-475,-12,-4) nu exist nici un numr pozitiv, iar n vectorul (-4,9,874,-54) primul numr pozitiv se gsete pe poziia 2.11. Se d un vector v cu n elemente numere ntregi. S se copieze ntr-un alt vector u elementele pozitive ale vectorului iniial.
Exemplu. Dac v=(-5,8,-6,0,-9,1,-475,12,4) atunci u=(8,1,12,4).
12. Se consider un vector A cu m elemente i dou numere reale P, Q. S se scrie un program care copiaz ntr-un vector B toate elementele din A aflate n intervalul (P,Q) n ordinea n care apar ele n vector.
Exemplu. Dac A=(12,-4,9,7,-5,31,-74,515,-33,-8) i P=-10, Q=9 atunci B=(-4,7,-5,-8).
13. Se consider un vector A cu m elemente i dou numere reale P, Q. S se scrie un program care copiaz ntr-un vector B toate elementele din A aflate n intervalul (P,Q) n ordinea invers apariiei lor n vectorul A. Componentele vectorului B vor fi generate direct n aceast ordine!
Exemplu. Dac A=(12,-4,9,7,-5,31,-74,515,-33,-8) i P=-10, Q=9 atunci B=(-8,-5,7,-4).
14. Se d un vector de numere reale. S se determine procentul de numere din vector mai mici (strict) dect MA i procentul de numere din vector mai mari (strict) dect MA, unde am notat cu MA media aritmetic a componentelor din vector.
Exemplu. Dac vectorul este (-2,13,34.75,125,3.5,8,61) atunci media aritmetic este 34.75, numerele mai mici strict dect aceast medie sunt 2, 13, 3.5, 8 (adic 57.14%), iar numerele strict mai mari dect medie sunt 125, 61 (adic 28.57%).
15. Se consider doi vectori cu componente reale. Se citete un numr natural k. S se intercaleze n primul vector, dup poziia k, tabloul al doilea.
Exemplu. Dac x=(1,2,3,4,5,6,7), y=(9,10,11) i k=4 dupa intercalare x=(1,2,3,4,9,10,11,5,6,7).
16. Scriei un program care citete de la tastatur cele n numere reale ce compun vectorul a i apoi cele m numere reale ce constituie componentele vectorului b i afieaz pe ecran cte dintre componentele vectorului a sunt strict mai mici dect toate componentele vectorului b.
Exemplu. Dac a=(4,8,1,9,5,11,3,43,6,20) i b=(9,9,6,9,9,8, 6,9), atunci numrul cutat este 4, deoarece valorile 4,1,5 i 3 sunt mai mici dect toate elementele lui b.
17. S se calculeze i afieze media aritmetic i cea armonic a componentelor unui vector x de numere reale. Prin medie armonic a vectorului x=(x1,x2,,xn) se nelege raportul:
.
Exemplu. Pentru x=(1,8,4,21,3,56,9) media aritmetic este 14.57 iar media armonic este 3.71.18. Scriei cte un program care s realizeze inversarea unui vector:
a) n acelai vector i fr a utiliza un vector suplimentar;
b) ntr-un alt vector.
Exemplu. Dac vectorul iniial este (1,2,3,4) cel final va fi (4,3,2,1).19. Fie v un vector de numere ntregi. S se construiasc un vector w, astfel nct w(i(= numrul de apariii ale lui v(i( n vectorul v.
Exemplu. Pentru v=(1,5,2,1,5,7,2,1,5) se obine w=(3,3,2,3,3,1, 2,3,3).
20. Fiind dat un vector v cu n elemente numere ntregi, s se construiasc ali doi vectori: primul va conine numai elementele pare, iar al doilea numai elementele impare ale vectorului iniial.
Exemplu. Daca vectorul iniial este v=(1,64,2,5,23,9,6,11) se vor obine vectorii (64,2,6) i respectiv (1,5,23,9,11).
21. S se calculeze componentele irului tiind c este media aritmetic a componentelor pozitive de rang mai mic sau egal cu i ale vectorului X, n cazul n care exist componente pozitive, respectiv -1 n caz contrar.Exemplu. Pentru x=(-2,-3,71,43,-3,1,-4,8,12) se obine y=(-1, -1,71,57,57,38.33,38.33,30.75,27)
22. S se verifice dac un vector conine elemente n ordinea: negativ, negativ, pozitiv, negativ, negativ, pozitiv, .
Exemplu. (-1,-2,3,-5,-6,2,-8) are aspectul cerut (-1,2,-3,-4) nu are aspectul dorit.
23. Fie dat un vector . S se modifice vectorul astfel nct n final s avem:
a)
b)
c) .
24. Un tablou a cu elemente n mulimea se numete alternativ dac pentru orice i, . S se scrie un program care s decid dac un astfel de tablou citit de la tastatur este alternativ sau nu.
Exemplu. Vectorul (1,0,0,3,0,0,0,5) este alternativ ns vectorul (1,0,0,3,4,0,0,0,0,0,3) nu este alternativ.
25. Se d numrul natural n>1 i vectorul s se verifice dac numerele date sunt n progresie aritmetic sau geometric i s se dea un mesaj corespunztor.Exemplu. Vectorul (2,4,6,8,10) este n progresie aritmetic iar vectorul (2,10,50,250,1250,6250) este n progresia geometric.26. Fie un vector x de numere ntregi. S se formeze un vector y de numere ntregi, n care y(i( s fie restul mpririi lui x(i( la suma cifrelor lui x(i(. Restul mpririi se va determina folosind:
a) operatorii al limbajului;
b) scderi repetate.
Exemplu. Pentru x=(12,5,123,85,7,33,12,8,26) se va obine y=(0,0,3,7,0,3,0,0,2).
27. S se afieze elementele prime ale unui ir de n numere ntregi citit de la tastatur.
Exemplu. Pentru vectorul (101,10,3301,1021,5,15,7,91,37,29) se va afia 101, 3301, 1021, 5, 7, 37, 29.
28. Memorai n primele n componente ale unui vector x de numere ntregi, primele n numere prime mai mari dect 999, care citite invers, sunt tot numere prime.
Exemplu. Pentru n=5 se obin numerele 1009, 1021, 1031, 1033, 1061.
29. Cte elemente din tabloul x=(x1,x2,,xn) de numere ntregi au exact k divizori proprii.
Exemplu. Pentru vectorul (1,584,165,45,102,65,47,312,125,945) i k=6 se va afia 3 (numerele 584, 165 i 102 au exact 6 divizori proprii).
30. La codificarea unui text scris cu cel mult primele n litere mici ale alfabetului englez, se folosesc cele mai mici n numere naturale care au exact 3 divizori naturali. Pentru litera a se folosete cel mai mic numr cu proprietatea respectiv, pentru b cel mai mic numr diferit de cel folosit pentru a, i aa mai departe.
a) S se afieze, separate prin cte un spaiu, cele n numere folosite la codificare.
b) Pentru un text dat de la tastatur, se cere s se afieze codificarea textului, fiecare caracter fiind nlocuit cu numrul corespunztor i orice dou coduri consecutive vor fi separate printr-un spaiu.
Exemplu. Pentru n=5 i textul abeaab se va afia a) 4, 9, 25, 49, 121; b) 4 9 121 4 4 9.
31. S se calculeze cmmdc(x1,x2,x3,,xn).
Exemplu. cmmdc(2940,882,70,182) este 14.
32. Cte numere perfecte exist n tabloul x=(x1,x2,,xn) de numere ntregi citite de la tastatur. Un numr este perfect dac este egal cu suma divizorilor si mai mici dect el.Exemplu. Pentru vectorul (10,5,6,12,8128,5,0,28) se va afia 3 (deoarece 6, 8128 i 28 sunt numere perfecte).
33. S se afieze valorile ntregi p i q, prime ntre ele astfel nct , numerele ntregi , , dndu-se de la tastatur.
Exemplu. Pentru a=(1,5,3,6,11) i b=(2,4,2,7,4) se obine p=48 i q=7.
34. Cte elemente dintr-un vector de numere ntregi sunt prime cu un numr dat.
Exemplu. Pentru vectorul x=(12,15,254,525,56,125,500,63,48, 912) i numrul 4 se obin 4 numere (15,525,125,63).35. Se d un numr ntreg n. S se determine numerele n1 i n2 obinute din cifrele de ordin impar, respectiv par ale numrului n, n ordinea apariiei lor n numrul n i apoi afieaz suma celor dou numere obinute.
Exemplu. Dac n=32457 se obin numerele 347 i 25 iar suma lor este 372.
36. Cu cte zerouri se termin produsul elementelor , ale unui vector de numere ntregi, fr a calcula produsul.
Exemplu. Pentru vectorul x=(12,15,254,525,56,125,500,105,48, 912) se va afia 10.
37. Scriei un program care elimin toate elementele nule dintr-un vector de numere ntregi.
Exemplu. Dac vectorul iniial este x=(10,0,0,3,0,5,0,9) se va obine x=(10,3,5,9).
38. Se d un vector v cu n elemente numere ntregi. Fr a folosi un vector auxiliar, s se mute la sfritul lui v elementele sale nule, pstrnd ordinea celorlaltor elemente.
Exemplu. Dac iniial v=(2,3,0,9,0,0,8), n final va rezulta v=(2,3,9, 8,0,0,0).
39. Se consider un ir de n numere reale. S se scrie un program care elimin din ir valorile ce se afl n afara intervalului [a,b].Exemplu. Dac vectorul iniial este (2,8,4,6,9,10,3,5,2,10) iar a=3 i b=7 atunci vectorul rezultat va fi (4,6,3,5).
40. S se scrie un program care insereaz ntre oricare dou elemente ale vectorului x de numere reale, media aritmetic a vecinilor si.
Exemplu. Dac iniial x=(2,5,10,3,7) dup prelucrare x=(2,3.5,5, 7.5,10,6.5,3,5,7).
41. Fiind dat un vector cu n numere reale, s se determine valoarea expresiei e n fiecare din cazurile:
a)
Exemplu. Pentru x=(10,2,31,335,12,45,26) => e=461b)
Exemplu. Pentru x=(10,2,31,335,12,45,26) => e=79c)
Exemplu. Pentru x=(10,2,3,5,12,4) => e=14400d)
Exemplu. Pentru x=(10,2,3,5,12,4) => e=360e) e= suma cuburilor componentelor negative din vector;
Exemplu. Pentru x=(10,2,-3,-5,12,45,-26) => e=-17728.
f) e=media aritmetic a componentelor impare din vector.
Exemplu. Pentru x=(10,2,3,5,12,45,26) => e=17.6666.
42. Fie a1,a2,,an, n numere reale. Calculai suma
.
Exemplu. Pentru vectorul a=(45,8,1,98,6) se obine suma s=-7606.
43. Fie doi vectori x i y cu n componente numere ntregi fiecare, s se calculeze expresia e dat prin:
a)
Exemplu. Pentru x=(1,2,3) i y=(4,5,6) se obine e=315.
b)
Exemplu. Pentru x=(1,2,3) i y=(4,5,6) se obine e=32.
c)
Exemplu. Pentru x=(1,10,2,3) i y=(4,5,6,8) se obine e=600.
d)
Exemplu. Pentru x=(1,10,2,3) i y=(4,5,6,8) se obine e=12.
44. S se calculeze raportul
.
Exemplu. Pentru x=(2,7,4,54,2,77,12) => e = 6.9.
45. Dndu-se n numere ntregi s se decid dac exist un numr majoritar n aceast secven. Un numr este majoritar dac numrul su de apariii n vector este mai mare dect n/2.
Exemplu. n vectorul (1,5,3,1,1,1,4) numrul 1 este element majoritar.
46. Fie un ir de n numere reale a1,a2,,an. S se calculeze suma:
.
Exemplu. Pentru vectorul a=(45,8,1,98,6) se obine suma s=75.03333.
47. S se determine numrul de componente din vectorul C=(C1,C2,C3,,Cn) aflate ntre dou limite date a i b i media aritmetic a componentelor aflate n afara intervalului.
Exemplu. Dac C=(2,8,4,6,9,10,3,5,2,10) iar a=3 i b=7 se vor afia valorile 4 i respectiv 6.8333.
48. Se dau doi vectori A, B de lungimi egale cu elemente numere ntregi. S se scrie un program care s calculeze media aritmetic a tuturor elementelor din A pentru care componentele respective din B sunt numere negative.
Exemplu. Dac A=(1,2,3,4,5,6,7) iar B=(2,5,-3,6,-9,-5,10) se obine media 4.6666.
49. Dndu-se un vector X (citit de la tastatur) s se calculeze vectorul Y tiind c
iar este media numerelor pentru .
Exemplu. Pentru x=(1,5,7,2,8,12,3,90,6,22) => y=(3,4.33,4.6, 6.8,6.4,23,23.8,26.6,39.33,14).
50. Fie vectorul cu
.
S se construiasc vectorul tiind c , , unde .
Observaie. Se va citi de la tastatur doar valoarea lui n.
Exermplu. Pentru n=5 se va obine vectorul v=(0.1787513,0.1787764, 0.1787818,0.1787853,0.1787877)
51. Se citesc n numere naturale. Aceste numere se mpart n grupe astfel nct n cadrul fiecrei grupe toate numerele au acelai numr de cifre 1 n reprezentarea n baza 2. Se cere s se afieze mediile aritmetice a numerelor din fiecare grup.
Exemplu. Pentru n=10 i numerele 92,60,47,16,52,45,65,7,8,87 se obin urmtoarele medii aritmetice: 12, 65,29.5,65.66,67.
52. S se calculeze ultima cifr a numrului x[1]+x[2]++x[n], unde x este un vector cu n componente numere naturale citite de la tastatur.
Exemplu. Pentru n=10 i vectorul x=(92,60,47,16,52,43,65,7,8,87) se obine cifra 7.
53. S se calculeze ultima cifr a numrului , unde x este un vector cu n componente numere naturale citite de la tastatur.
Exemplu. Ultima cifr a expresiei este 9.
54. S se scrie un programul pentru calculul coeficienilor de corelaie a dou variabile aleatoare discrete X i X, unde:
X ia valorile: X[1], X[2], , X[n],
Y ia valorile: Y[1], Y[2], , Y[n],
Observaie: Fie RXY coeficientul de corelaie a lui X i Y. El este definit de formula:
unde MX i MY sunt mediile aritmetice a componentelor din X i Y.
Exemplu. Coeficientul de corelaie pentru variabilele aleatoare x=(4,8,9,2,4) i y=(8,7,3,74,9) este RXY=-0.6884783.
55. Din irul de numere 1, 2, 3, , n se elimin pe rnd cte un numr formnd un nou ir. Un numr eliminat este introdus ntr-un al doilea ir, iniial vid, exact n mijlocul acestuia, dac acest lucru este posibil, n caz contrar se adaug la sfritul irului. Se cere:
a) dndu-se ordinea n care se elimin numerele s se afieze irul final construit ca mai sus;
b) dndu-se ordinea numerelor din irul final, s se determine ordinea n care au fost eliminate numerele din irul iniial.
Exemplu. Dac n=7 i numerele sunt eliminate astfel 1,3,7,4,2,6,5 atunci irul final va fi 1,7,2,5,3,4,6 i invers.
56. ntr-o grdin zoologic sunt n colivii cu papagali. O maimu jucu trece prin faa coliviilor i deschide toate uile acestora. Apoi, se ntoarce i nchide uile din dou n dou (ncepnd cu prima colivie). Jocul su se reia mergnd din trei n trei colivii, nchiznd uile deschise i deschizndu-le pe cele nchise. Apoi maimua merge din patru n patru, din cinci n cinci, .a.m.d. n final din n n n colivii, ncepnd de fiecare dat cu prima colivie. S se afieze coliviile rmase deschise.
Exemplu. Pentru un numr de 10 colivii vor rmne deschise coliviile 2,5,10.
57. Se consider n aruncri de zar (generate aleator). Se cere:
a) s se determine de cte ori apare fiecare fa i la a cta aruncare apare prima dat.
b) s se determine toate perechile de forma (Fi,Ki) cu proprietatea c Fi+Ki este un numr par, unde Fi este numrul feei, iar Ki numrul de apariii a feei Fi.
Exemplu. La o rulare a acestui program s-au obinut urmtoarele rezultate (n a fost generat i el aleator): faa 1 de 4704 ori; faa 2 de 4603 ori; faa 3 de 4596 ori; faa 4 de 4717 ori; faa 5 de 4655 ori; faa 6 de 4714 ori. Perechile care ndeplinesc condiia de la punctul b) sunt aadar (5,4655) i (6,4714).
58. Se citesc de la tastatur cele n elemente ale unui ir dat de numere ntregi. S se afieze toate perechile de elemente ale irului (nu neaprat consecutive) cu proprietatea c ambele elemente ale perechii au aceeai sum a cifrelor.
Exemplu. Pentru vectorul (12,9,54,32,222,49,34,6,1,91) se vor afia perechile (9,54) i (222,6).
59. S se afieze toate tripletele de numere cresctoare de pe poziii consecutive din vectorul x de numere reale.
Exemplu. Pentru x=(2,9,41,61,6,24,84,1,21) se vor afia tripletele (2,9,41),(9,41,61) i (6,24,84).
60. Fiind dat un vector de numere ntregi, s se afieze de cte ori gsim dou elemente aflate pe poziii consecutive n vector care s fie egale ntre ele.
Exemplu. Pentru vectorul (1,2,2,3,4,4,4,5,6) se va afia valoarea 3.
61. Fie un vector x de numere ntregi. S se afieze toate tripletele de numere consecutive din x, n care al treilea numr este restul mpririi primului la al doilea.
Exemplu. Pentru vectorul (21,7,15,4,3,1,45,7,3,1) tripletele cerute sunt (15,4,3), (4,3,1), (45,7,3) i (7,3,1).
62. Fie un vector x de numere ntregi. S se afieze toate tripletele de numere consecutive din x, n care al treilea este media aritmetic dintre primul i al doilea.
Exemplu. Pentru vectorul (2,9,3,6,10,3,7,5,6,5) tripletele cerute sunt (9,3,6), (3,7,5) i (7,5,6).
63. Fie un vector x de numere ntregi. S se afieze toate tripletele de numere consecutive din x, n care al treilea este media geometric dintre primul i al doilea.
Exemplu. Pentru vectorul (1,3,2,5,125,25,4,8,33,8,7) singurul triplet este (5,125,25).
64. Fie un vector x de numere ntregi. S se afieze toate perechile de numere consecutive din x, cu proprietatea c al doilea este egal cu suma cifrelor primului numr.
Exemplu. Pentru vectorul (124,7,12,3,4,4) perechile cerute sunt (124,7), (12,3), (4,4).
65. Fie un vector x de numere ntregi. S se afieze toate tripletele de numere consecutive din x, cu proprietatea c ele pot reprezenta laturile unui triunghi.
Exemplu. Singurul triplet din vectorul (12,45,10,5,9,4,51) este (10,5,9).
66. Fie un vector x de numere ntregi. S se afieze toate perechile de numere consecutive din x, cu proprietatea c al doilea reprezint restul mpririi primului numr la suma cifrelor sale.
Exemplu. Pentru vectorul (124,5,12,44,4,9) se afieaz perechile (124,5) i (44,4).
67. Fie un vector x de numere ntregi. S se afieze toate perechile de numere consecutive din x, cu proprietatea c al doilea reprezint numrul de apariii ale cifrei 3 n ptratul primului.
Exemplu. Pentru vectorul (361,2,5,1156,4,0) perechile afiate vor fi (361,2),(1156,4),(4,0).
68. Fie un vector x de numere ntregi. S se afieze toate perechile de numere cu proprietatea c i suma cifrelor lui este mai mic dect suma cifrelor lui .
Exemplu. Pentru vectorul x=(40,76,17,21,55,92,59,33,52,37) se vor afia perechile (92,59) i (52,37).
69. Fie un vector x de numere ntregi. S se afieze toate tripletele de numere consecutive din x, cu proprietatea c ele pot reprezenta laturile unui triunghi dreptunghic.
Exemplu. Tripletul (3,4,5) poate reprezenta laturile unui triunghi dreptunghic.
70. Fie un vector x de numere ntregi. S se afieze toate tripletele de numere consecutive din x, cu proprietatea c al ele pot reprezenta laturile unui triunghi isoscel.
Exemplu. Tripletul (12,20,12) este un triplet care ndeplinete condiiile problemei.
71. Fie un vector x de numere ntregi. S se afieze toate perechile de numere consecutive din x, cu proprietatea c al doilea reprezint ptratul numrului de apariii ale cifrei 1 n primul.
Exemplu. Pentru vectorul (121,4,89,7,0,111,9) se vor afia perechile (121,4), (7,0), (111,9).
72. Fie un vector x de numere reale. S se afieze soluiile tuturor ecuaiilor de gradul II: , unde a, b i c sunt toate tripletele de numere consecutive din x, n care .
Exemplu. Pentru x=(1,-2,1,12,36,5) se va afia 1, -6. (soluiile ecuaiilor x2-2x+1=0 respectiv x2+12x+36=0)
73. Fie un vector x de numere reale. S se afieze soluiile tuturor ecuaiilor de gradul II: , unde a, b i c sunt toate tripletele de numere consecutive din x, n care .
Exemplu. Pentru vectorul x=(41,81,53,60,58,1,81,65,67,53) se vor afia urmtoarele perechi de soluii: (-0.95,-0.02) corespunztoare ecuaiei 60x2+58x+1=0 i (-80.19,-0.81) care corespund ecuaiei x2+81x+65=0.
74. Fie un vector x de numere ntregi. S se afieze soluiile tuturor ecuaiilor de gradul I, ax+b=0, unde a i b sunt toate perechile de numere consecutive din vectorul x, n care b este divizibil cu prin a. Dac un numr este soluia mai multor astfel de ecuaii se va afia o singur dat.
Exemplu. Dac x=(7,3,8,2,140,20,5,28,7,1) se gsesc soluiile 4 i 7.
75. Fie un vector x de numere ntregi. S se formeze un vector y de numere ntregi, n care y(i( s fie reprezentarea n baza 2 a numrului x(i(.
Exemplu. x=(12,8,3,14,6,21) => y=(1100,1000,11,1110,110, 10101).
76. S se scrie un program care verific dac un vector x cu n componente numere ntregi este o permutare a mulimii (1,2,3,,n).
Exemplu. Vectorul (2,6,1,4,3,5) reprezint o permutare a mulimii (1,2,3,4,5,6).
77. Fie x un vector care conine o permutare a elementelor 1,2,...,n. Se definete un al doilea vector xcod astfel: este numrul de valori din mai mici dect . S se scrie un program care pentru un x dat construiete tabloul corespunztor xcod.
Exemplu. Pentru permutarea (5,3,4,1,6,2) vectorul xcod este (0,0,1,0,4,1).
78. De la tastatur se introduce gradul n al unui polinom i coeficienii ntregi ai acestuia. S se afieze rdcinile ntregi distincte ale acestui polinom.
Exemplu. Polinomul x5+x4-29x3-69x2-84x+180 are ca rdcini ntregi pe 1, -5 i 6 (acestea se afl printre divizorii ntregi ai termenului liber).
79. O funcie se poate reprezenta n calculator printr-un vector cu m componente unde . S se verifice dac funcia f, dat prin vectorul F este injectiv.
Exemplu. Funcia corespunztoare vectorului (3,8,2,3,6,9) nu este injectiv (f(1)=f(4)), iar funcia corespunztoare vectorului (1,5,2,8,14) este injectiv.
80. Dndu-se funciile i reprezentate prin vectorii F i G, , s se determine compunerea celor dou funcii date, adic .
Exemplu. Dac m=6, n=7, p=8, f=(1,3,2,4,6,3), g=(2,6,1,4,5,8,7) atunci =(2,1,6,4,8,1).
81. Se d un ir X de numere ntregi. S se determine mediile . Prin s-a notat media numerelor pozitive cuprinse ntre al (i-1)-lea i al i-lea numr negativ din X, dac exist numere pozitive, respectiv 0 n caz contrar.
Exemplu. X=(5,-2,3,9,-6,2,6,9,14,-1,3,-4,-7) => V=(5,6, 7.75,3,0).
82. Determinai valoarea unui polinom ntr-un punct. Coeficienii (reali) ai polinomului precum i punctul n care se calculeaz valoarea polinomului se citesc de la tastatur.
Exemplu. Valoarea polinomului P(x)=x5+2x3+3x+7, memorat folosind vectorul a=(7,3,0,2,0,1) pe punctul x=1.5 este 25.84375.
83. S se transforme un numr din baza 10 n baza 16, cifrele numrului n baza 16 memorndu-se ntr-un vector.
Exemplu. Pentru n=11224 se obine vectorul cu resturile mpririlor (2,11,13,8), deci numrul n baza 16 este 2BD8.
84. S se calculeze , pentru valori mari ale lui n.
Exemplu. =1267650600228229401496703205376 adic 31 de cifre.85. Considernd c cifrele a dou numere sunt memorate n doi vectori x, respectiv y s se calculeze:
a) suma celor dou numere;
b) diferena celor dou numere;
c) produsul celor dou numere.
Exemplu. Numerele 235 i 126 se pot memora astfel: (5,3,2), respectiv (6,2,1). Aceast scriere invers a cifrelor poate uura foarte mult calculele. Se va obine suma 361, diferena 109 (atenie se va scdea cel mai mic numr din cel mai mare) i produsul 29610.
86. S se determine numrul de cifre egale cu cifra c (dat de la tastatur) n cadrul numrului n! cu n0, dat de la tastatur s se genereze ntr-un vector x elementele mulimii . Vectorul x trebuie obinut ordonat cresctor (nu se va sorta ulterior).
Exemplu. Pentru n=20 vectorul este x=(2,3,4,5,6,8,9,10,12,15, 16,18,20).
94. Memornd coeficienii a dou polinoame sub forma a doi vectori se cere s se determine
a) suma celor dou polinoame
b) produsul polinoamelor
Exemplu. Pentru polinoamele P(x)=x3+2x+5 i Q(x)=x3+5x+7 se obine
P(x)+Q(x)=2x3+7x+12 i P(x)*Q(x)=x6+7x4+12x3+10x2+39x+35.
95. Determinai ctul mpririi polinomului prin , folosind schema lui Horner. Reamintim c schema lui Horner const n urmtorul procedeu:
Se pun coeficienii polinomului pe prima linie a unui tabel, urmai de valoarea ;
Se copiaz (coboar) primul coeficient pe linia a doua;
n continuare, linia a doua se completeaz recurent: pentru a obine o nou valoare, se nmulete cu ultima valoare determinat i se adun cu numrul aflat deasupra poziiei curente (pe prima linie).
Ultima valoare obinut este restul mpririi celor dou polinoame, iar valorile anterioare, n ordine, reprezint coeficienii ctului.
Exemplu. Pentru P(x)=2x3-3x2+x-2 i =4 se obine ctul 2x2+5x+21 i restul 82:
2-31-2=4
252182
96. Se citete de la tastatur un numr natural n. Se cere s se descompun n factori primi acest numr folosind doi vectori: unul pentru memorarea factorilor primi, iar al doilea cu exponenii corespunztori acestor factori.
Exemplu. Pentru n=4712 cei doi vectori vor fi p=(2,19,31), e=(3,1,1), ceea ce reprezint urmtoarea descompunere n factori primi: 23*191*311.
97. Se consider irul 1, 2,1, 3,2,1, 4,2,2, 5,4,3,2,1, 6,2,2,3,3,3,.... obinut din irul numerelor naturale prin nlocuirea fiecrui numr natural printr-un grup de numere, dup urmtoarele reguli: numrul prim p este nlocuit prin numerele p, p-1, p-2,..., 3, 2, 1, iar numrul compus k este nlocuit prin k urmat de toi divizorii si proprii, un divizor d repetndu-se de d ori. Dndu-se numrul natural n se cere s se tipreasc primele n numere din irul dat.
Exemplu. Dac n=10 irul generat va fi (1,2,1,3,2,1,4,2,2,5).
98. Pe un traseu circular se gsesc n depozite de morcovi. Se dau distanele dintre dou depozite consecutive (1->2, 2->3, , n-1->n, n->1). Fiecare dintre depozite conine o anumit cantitate de morcovi (posibil zero). Numrul total de morcovi din cele n depozite ajung unui iepura exact ct poat parcurge tot traseul o singur dat. Se consider c pentru parcurgerea unui km iepuraul are nevoie s mnnce un morcov pentru a avea energie suficient. Iepuraul poate mnca orici morcovi. S se determine de la ce depozit i n ce direcie va pleca iepuraul, astfel nct el s poat reveni la locul de plecare.
Exemplu. Pentru n=5, distanele (12,3,61,10,4) i numrul de morcovi din depozite (0,20,40,0,30) se va pleca de la depozitul 3 spre depozitul 2, sau de la depozitul 5 spre depozitul 1.
99. Considerm irul de numere naturale:
1; 1,1; 2,1; 1,2, 1,1; 1,1, 1,2, 2,1; 3,1, 2,2, 1,1;
definit astfel:
primul grup (subir) este format dintr-un singur 1;
plecnd de la ultimul grup cunoscut, urmtorul grup se construiete prin indicarea perechilor de forma (factor de repetiie, numr care se repet) referitoare la coninutul grupului de la care s-a plecat. Astfel, din grupul 1,1,1,2,2,1 se obine 3,1,2,2,1,1 deoarece apar n ordine 3 de 1, 2 de 2 i 1 de 1.
S se genereze primele n componente ale irului definit astfel.
100. Cnd dorim s listm o brour cu mai multe foi ndoite la mijloc ordinea de listare este alta dect de obicei. O astfel de brour are patru pagini pe foaie, cu dou pe fa i dou pe spate. Cnd aezm toate aceste foi n ordine i ndoim teancul n dou, paginile apar n ordinea corect, ca ntr-o carte obinuit. Problema cere s se scrie un program care, citind numrul de pagini ce trebuiesc tiprite, genereaz ordinea de tiprire. Eventualele pagini goale ce trebuie s fie adugate se vor aduga la sfritul crii.
Exemplu. Pentru n=10 paginaia este urmtoarea:
foaia 1: faa: , 1; spatele: 2, ;
foaia 2: faa: 10, 3; spatele: 4, 9
foaia 3: faa: 8, 5, spatele: 6, 7.
101. Un numr de n copii aezai pe un cerc joac urmtorul joc. Pe rnd fiecare din copii spune un numr dup urmtoarea regul:
primul copil spune 1, urmtorii spunnd numrul dinainte +1.
dac unui copil i vine rndul s spun un numr divizibil cu 5, atunci el spune PAS i sensul jocului se schimb, iar dac numrul este divizibil cu 7 sau are ultima cifr 7 sensul jocului se schimb deasemenea.
Exemplu. n=4copilul 1 spune 1
copilul 2 spune 2
copilul 3 spune 3
copilul 4 spune 4
copilul 1 spune PAS se schimb
sensul
copilul 4 spune 6
copilul 3 spune 7 se schimb
sensul
copilul 4 spune 8
copilul 1 spune 9
copilul 2 spune PAS se schimb
sensul
copilul 1 spune 11
copilul 4 spune 12
copilul 3 spune 13
copilul 2 spune 14 se schimb
sensul
copilul 3 spune PAS se schimb
sensul
copilul 2 spune 16
copilul 1 spune 17 se schimb
sensul
copilul 2 spune 18
copilul 3 spune 19
.a.m.d
S se scrie un program, care citete de la tastatur numrul de copii care vor s joace acest joc i numrul de pai ai jocului i afieaz copiii care au spus PAS. Dac un copil spune PAS de mai multe ori, el se va afia o singur dat.
Exemplu. Pentru n=10 (copiii) i numrul de pai np=50 se va afia valoarea 2 (doi copii nu au spus PAS i anume 2 i 8).
102. De la tastatur se citesc cele N elemente ale unui ir de numere. S se scrie un program care interschimb dou secvene de lungimi L1 i L2 care ncep din poziiile p1, respectiv p2. Elementele care nu sunt cuprinse n cele dou secvene pot fi mutate astfel nct interschimbarea s se poat face. Nu se vor folosi vectori auxiliari.
Exemplu. Pentru n=9, irul 1,2,3,4,5,6,7,8,9, P1=2, L1=2, p2=6, L2=3, rezultatul este 1,6,7,8,4,5,2,3,9.
103. Generarea permutrilor. S se scrie un program care genereaz toate permutrile mulimii {1,2,,n} folosind ordinea lexicografic a acestora.
Indicaii. Se pleac de la cea mai mic permutare n sens lexicografic adic (1,2,,n). La un anumit pas, avnd construit permutarea p=(p1,p2,,pn), pentru a determina urmtoarea permutare se determin acel indice i pentru care
pipi+2>>pn.
Urmtoarea permutare se obine prin nlocuirea lui pi cu cel mai mic dintre elementele pi+1, pi+2, , pn care este mai mare dect pi, urmat de inversarea ordinii ultimelor n-i elemente, nct ele s apar n ordine cresctoare. Dac nu exist nici un indice i ca mai sus nseamn c s-a obinut permutarea cea mai mare, {n,n-1,,1} i algoritmul se ncheie.
Exemplu. Pentru n=4 permutrile sunt generate n urmtoarea ordine: (1,2,3,4),(1,2,4,3),(1,3,2,4),(1,3,4,2),(1,4,2,3),(1,4,3,2),(2,1,3,4),(2,1,4,3),(2,3,1,4),(2,3,4,1),(2,4,1,3) etc.
104. Generarea combinrilor. Se cere s se genereze toate cele submulimi de m elemente ale mulimii {1,2,3,,n}, cu proprietatea c oricare dou astfel de submulimi difer prin natura elementelor (nu i prin ordinea lor). Se va folosi generarea n ordine lexicografic a acestor submulimi.
Indicaii. Se vor genera deci toi vectorii v=(v1,v2,,vm) care satisfac relaia
1 X=(1,3,4,5,7,9,11, 20,44,60)168. Se d un ir de numere, scrise ntr-o ordine aleatoare. Ele reprezint rezultatele pariale ale unor operaii de adunare cu numere naturale. Printre numere se gsete i numrul de la care s-a plecat iniial. S se reconstituie exerciiul folosind numerele date.
Exemplu. Dac numerele date sunt: 12, 6, 23 atunci exerciiul este urmtorul: 6+6=12; 12+11=23.
169. Se d un vector cu elemente avnd doar valorile 1, 2, 3. Vectorul se consider ordonat parial: primele k-1 poziii sunt ocupate de elemente egale cu 1, poziiile de la k la l-1 de elemente egale cu 2, poziiile de la l la m-1 de elemente egale cu 3, iar poziiile de la m la n de elemente neordonate (1