Documente Academic
Documente Profesional
Documente Cultură
Scrieti definitia completa a unui subprogram vect01 care primeste prin intermediul primului
parametru, n, un numar natural nenul mai mic sau egal cu 20, prin intermediul celui de-al
doilea parametru, v, un tablou unidimensional cu n elemente format din numere intregi din
intervalul [-100, 100] si care returneaza valoarea 1 daca tabloul este format din n-1 valori
egale cu 0 si o singura valoare egala cu 1; in orice alt caz returneaza valoarea 0.
2. Scrieti definitia completa a unui subprogram matdiag care primeste prin intermediul
primului parametru, n, un numar natural nenul mai mic sau egal decat 20 si prin intermediul
celui de-al doilea parametru, a, un tablou bidimensional cu n linii si n coloane, format din
numere intregi din intervalul [-100, 100] si care returneaza valoarea 1 daca pe fiecare linie
elementul corespunzator diagonalei principale este mai mare sau egal cu suma celorlalte
elemente de pe linia respective sau returneaza valoarea 0 in caz contrar.
3. Subprogramul sumdiv primeste prin parametrii a si b doua numere naturale cu cel mult
patru cifre fiecare si returneaza suma tuturor divizorilor naturali ai numerelor a si b. Daca un
numar d este divizor atat pentru a, cat si pentru b, va fi adunat de doua ori in suma. De
exemplu, pentru a=4 si b=6, functia va returna valoarea 19 (deoarece 19 =
1+2+4+1+2+3+6).
Scrieti programul care citeste doua numera naturale a si b (a<=b) cu cel mult patru cifre
fiecare si, folosind apeluri ale subprogramului sumdiv, tipareste toate numerele prime din
intervalul [a, b].
4. Se considera subprogramul nrdiv, cu trei parametri, care:
- primeste prin intermediul parametrului n un numar natural nenul,
2<=n<=10000;
- returneaza prin intermediul parametrilor d1 si d2 cel mai mic, respectiv cel
mai mare divizor prim al sau (1<d1<=d2<=n).
Pentru n=6, se obtin d1=2 si d2=3.
Pentru n=8, se obtin d1=2 si d2=2.
Pentru n=7, se obtin d1=7 si d2=7.
Scrieti un program C++ care primeste doua numere naturale a si b, de cel mult patru cifre
fiecare, si determina prin apeluri utile ale subprogramului nrdiv toate numerele naturale
cuprinse in intervalul [a,b] cu proprietatea ca toti divizorii lor primi au exact doua cifre.
Numerele determinate vor fi afisate pe ecran, cu spatii intre ele.
Exemplu: Daca a=120, b=200 se vor afisa numerele: 121 143 169 187
5. a) Scrieti definitia subprogramului divizor, care primeste prin intermediul parametrului n un
numar natural (n>1) cu maximum 9 cifre si returneaza prin intermediul parametrului d
valoarea celui mai mic divizor prim a lui n, iar prin intermediul parametrului p puterea la
care acest divizor apare in descompunerea in factori primi a numarului n.
b) Scrieti programul C++ care citeste de la tastatura doua numere naturale n, x (x, n>1) cu
maximum 9 cifre si verifica daca n este divizibil cu 2x, folosind apeluri ale functiei divizor,
definita la punctul a). Programul afiseaza DA in caz afirmativ si NU in caz contrar.
6. a) Scrieti definitia completa a subprogramului max_div care are 2 parametri, a si b (numere
naturale avand maximum 9 cifre fiecare) si care returneaza cel mai mare divizor comun de 2
cifre al numerelor a si b. Daca cele 2 numere nu au un astfel de divizor, subprogramul va
returna 1.
b) Scrieti un program care citeste de la tastatura un numar natural nenul a de maximum 9
cifre si determina folosind apeluri ale functiei max_div, cel mai mare numar de 2 cifre care
divide pe a. Se va afisa pe ecran numarul astfel determinat sau mesajul Nu exista divizor de
2 cifre, in cazul in care a nu are nici un divizor de 2 cifre.
Exemplu: pentru a=160 se va afisa 80.
7. Subprogramul cifre_ipare primeste ca parametru un numar natural n avand cel mult 9 cifre
si verifica daca numarul n are toate cifrele impare. Scrieti programul care folosind apelul
subprogramului cifre_ipare, afiseaza pe ecran toate numerele naturale mai mici ca 10000,
care au toate cifrele impare.