Sunteți pe pagina 1din 2

1.

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.

8. Sa se scrie definitia completa a unui subprogram elimin care primeste ca parametru un


intreg >10 de cel mult 9 cifre si returneaza numarul obtinut prin eliminarea primei sale cifre.
Scrieti programul care citeste 2 numere: n>100 de cel mult 9 cifre nenule, iar p cuprins strict
intre 1 si numarul de cifre ale lui n si care folosind apeluri ale functiei anterioare, elimina
primele p cifre ale numarului n, afisand numarul astfel obtinut.
Exemplu: pt. n=1223 si p=3 se va afisa 3.
9. Subprogramul f primeste prin intermediul parametrului n un numar natural cuprins intre 1 si
10000 si returneaza cel mai mare termen din sirul lui Fibonacci strict mai mic ca n. Scrieti
programul C care citeste un tablou unidimensional de numere naturale nenule mai mici
decat 10000, apoi inlocuieste fiecare element al tabloului cu cel mai mare termen strict mai
mic decat el din sirul lui Fibonacci si afiseaza elementele tabloului astfel obtinut pe o
singura linie a ecranului, separate prin spatiu. Se vor folosi apeluri ale subprogramului f
definit anterior.
Exemplu: pt. n=6 si vectorul v=(10,12,14,100,50,60) se va afisa:
V=(8,8,13,89,34,55)
10. Scrieti definitia completa a subprogramului prim care primeste prin unicul sau parametru x
un numar natural (x<1000), si returneaza cel mai mic numar prim mai mare sau egal cu x.
Scrieti programul C++ care afiseaza primele n numere naturale prime, utilizand
subprogramul prim.
Exemplu: daca n=5 programul va afisa: 2, 3, 5, 7, 11.

S-ar putea să vă placă și