Sunteți pe pagina 1din 3

Recapitulare

Recursivitate
1. Scrieti o procedura recursiva care tipareste pe linii separate liniile unei matrice de
dimensiune N*M. La fiecare apel se va tipari cate o linie a matricii.
2. .Scrieti o functie recursiva care calculeaza al N-lea termen al sirului definit astfel:
b1=1
bN+1=3*bN+2 daca N>=1
3. Scrieti o functie recursiva care calculeaza simultan suma si produsul numerelor
pare dintr-un vector. Rezultatele vor fi returnate prin parametrii transmisi prin referinta.
4. Scrieti o functie recursiva care calculeza suma primelor N numere prime.
5. Scrieti o functie recursiva care calculeaza suma divizorilor unui numar natural N.
6. Scrieti o functie recursiva care calculeaza suma 1+4 +7+....( n termeni).
7. 4.Scrieti o functie recursiva care afiseaza elementele divizibile cu k dintr-un
vector b cu m elemente dat ( k natural citit).
8. Scrieti o functie recursive care detemina frecventa cifrei c (data ca param) in nr n.

Subprograme nerecursive:

1. a) Scrieţi subprogramul nrdiv, care primeşte prin intermediul parametrului x un


număr natural nenul cu cel mult 4 cifre, şi returnează numărul de divizori primi ai lui x.
b) Pe prima linie a fişierului bac.in se află un număr natural nenul n (n≤1000), iar pe a
doua linie a fişierului se află un şir format din n numere naturale nenule, despărţite prin câte
un spaţiu, fiecare număr fiind format din cel mult 4 cifre. Scrieţi un program C/C++ care
citeşte numerele din fişier şi care afişează pe ecran, folosind apeluri utile ale subprogramului
nrdiv, prima şi ultima valoare din şirul celor n numere citite, care au un număr par de
divizori primi. Numerele afişate vor fi separate printr-un spaţiu.
Exemplu: dacă fişierul bac.in are conţinutul alăturat, pe ecran se va afişa: 20 10
7
30 105 20 140 7 10 5
.

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