Sunteți pe pagina 1din 10

A.

Fara siruri
1. Adunarea, produsul si catul a doua numere
2. Se citesc 3 numere intregi. Sa se afiseze cel mai mare dintre ele. 
3. Se citesc 3 numere naturale a, b,c. Sa se afiseze in ordine crescatoare a valorii lor.
4. Ecuatia de gradul 1
5. Ecuatia de gradul 2
6. Rezolvare sistem cu 2 ecuatii si 2 necunoscute
7. Se dau 3 numere
i. Sa se precizeze daca pot forma laturile unui triunghi.
ii. Daca da
1. Sa se precizeze tipul lui Isoscel, Echilateral sau Oarecare
2. Sa se precizeze daca este dreptunghic
3. Sa se calculeze inaltimea aferenta unei laturi
4. Sa se calculeze aria lui (http://en.wikipedia.org/wiki/Heron's_formula)
8. Se citeste un numar natural p. Afisati toate tripletele de numere naturale care pot reprezenta
lungimile laturilor unui triunghi isoscel cu perimetrul egal cu p. 
Exemplu: 
pt p=12 se obtin tripletele: 
4 4 4 
5 5 2 
9. Sa se scrie un program care afiseaza tabla inmultirii de la 1 la 10.
10. Se citesc doua numere intregi a si b. Daca a divide pe b sau b divide pe a atunci sa se afiseze catul
impartirii celui mai mare la cel mai mic, iar altfel restul impartirii celui mai mare la cel mai mic. 
11. Se citeste un numar natural de maxim 9 cifre. Sa se afiseze cea mai mare si cea mai mica cifra din
numar.Se citeste un numar natural n. Sa se determine daca el are cifrele ordonate crescator sau
descrescator sau cifrele lui nu sunt ordonate. 
12. Se citesc numere naturale pana cand se introduce numarul 0. Sa se afiseze cel mai mare numar citit. 
13. Se citesc numere naturale pana cand se introduce numarul 0. Sa se afiseze media aritmetica a
numerelor introduse.
14. Afisati toate numerele naturale de forma abba care sunt divizibile cu un numar natural n citit de la
tastatura.
15. Se citeste un numar natural k. Gasiti toate perechile de numere x si y cu proprietatea ca x*x-y*y=k. 
Exemplu: 
Pentru k=15 exista 2 perechi (8,7) si (4,1). 
16. Se citeste un numar natural n cu cel mult 4 cifre. Sa se afiseze in ordine crescatoare toate numele
naturale pare atat timp cat suma lor nu depaseste pe n. 
Ex: pentru n=15 se afiseaza 2 4 6
17. Se citeste un numar natural n si apoi n numere naturale. Afisati numarul total de cifre care compun
numerele prime dintre cele n citite
18. Se citeste un numar intreg a reprezetand un an. Sa se verifice daca a este an bisect. 
19. Se citesc doua numere naturale a si l. a reprezinta un an iar l numarul unei luni din anul a. Afisati cate
zile are luna l. Se va tine cont daca anul a este bisect. 
Exemplu: 
a=2008 
l=2 
rezultatul este 29 deoarece luna febrauarie are 29 de zile in anii bisecti.
20. Se citesc de la tastatura numere naturale (cel putin 3) pana cand antepenultimul + penultimul =
ultimul. Sa se afiseze suma numerelor citite. 
Ex. daca citim 3 5 2 4 6 se va opri citirea dupa citirea nui 6 si se va afisa 20.
21. Se citeste un numar natural n. Se afiseze pe ecran un triunghi de forma: 

** 
*** 
..... 
***...* (n caractere *)
22. Se citeste un numar natural cu cel mult 9 cifre. Sa se determine de cate ori apare ultima cifra in
numarul citit. 
23. Se citeste un numar natural n avand numar impar de cifre. Sa se elimine din numarul n cifra din mijloc
si sa se afiseze numarul rezultat.
24. Se citeste un numar natural n si o cifra c. Calculati de cate ori apare cifra c in scrierea numerelor
naturale de la 1 la n. 
25. Se citeste un numar natural n. Sa se determine daca el are cifrele ordonate crescator sau descrescator
sau cifrele lui nu sunt ordonate. 
26. Se citesc doua numere naturale a si b, fiecare avand cifrele distincte. Determinati cate cifre comune
au cele 2 numere. 
Exemplu: 
a=23416 si b=345987 au 2 cifre comune (3 si 4) 
27. Cifra de control a unui numar n se numeste cifra obtinuta calculand repetat suma cifrelor lui n si
inlocuidu-l pe n cu suma calculata. 
Pentru un numar natural n afisati cifra lui de control. 
Exemplu: 
pentru n=3429 calculam suma cifrelor 18, iar suma cifrelor lui 18 este 9, deci 9 este cifra de control a
lui 3429. 
28. Se citeste un numar natoral n. Afisati cifrele distincte ale lui n (in orice ordine). 
Exemplu: Cifrele distincte ale lui 234542 sunt 2, 3, 4 si 5. 
29. Se citeste un numar natural n. Introduceti semnul * in numar astfel incat produsul obtinut sa fie
maxim. 
Exemplu: n=4322, produsul maxim se obtine astfel: 4*322=1288. (celelalte variante: 43*22=946 sau
432*2=864 dau produs mai mic)
30. Se citeste un numar natural n. Sa se verifice daca este palindrom (citit de la dreapta spre stanga are
aceeasi valoare). 
Exemplu: 123321 este palindrom, iar 12322 nu este
31. Se citesc 2 numere naturale a si b. Sa se determine cate cifre egale se afla pe pozitii indentice in cele
doua numere. 
Exemplu: 
a=3421345 
b=4531125 
cifre egale pe pozitii identice sunt cifra unitatilor si cea a miilor, deci doua. 
32. Se citeste un numar natural n. Sa se calculeze si sa se afiseze rasturnatul (oglinditul) lui n.
33. Sa se elimine dintr-un numar natural n toate cifrele pare.
34. Se citeste un numar natural n cu cel putin 3 cifre. Sa se calculeze si sa se afiseze numarul obtinut din
n prin eliminarea primei si a ultimei cifre. 
Exemplu: 
n=34255 rezulta n=425
35. Doua numere naturale diferite a si b se numesc prietene daca suma divizorilor lui a fara a este egala
cu b si suma divizorilor lui b fara b este egala cu a. 
Scrieti un program care sa afiseze primele 3 perechi de numere prietene. 
36. Se citeste un numar natural n. Sa se determine cate cifre pare si cate cifre impare contine numarul n.
37. Sa se afiseze numerele mai mici sau egale cu n care au proprietatea sa atat ele cat si rasturnatul lor
sunt numere prime. 
Exemplu: 13 este prim si la fel 31. 
38. Se citeste un numar natural n. Sa se determine daca este cub perfect.
39. Se citeste un numar natural n cu cel mult 9 cifre. Sa se determine cea mai mare cifra a lui n si de cate
ori apare ea in n. 
40. Sa se determine daca un numar este prim (creere functie)
41. Sa se descompuna un numar natural n in toate modurile ca suma de doua numere prime. Daca nu
exista nici o descompunere, atunci sa se afiseze mesajul Imposibil. 
42. Sa se afiseze toate perechile numere naturale x si y din intervalul [1,n] care sunt prime si consecutive
in multimea numerelor impare. 
De exemplu, de la 1 la 15 avem perechile: 
3 5 
5 7 
11 13 
43. Se citesc numere naturale pana cand se citeste numarul 0. Sa se afiseze care dintre numerele citite
are numar minim de divizori primi. Daca exista mai multe numere cu acelasi numar minim de divizori
se va afisa doar ultimul dintre ele.
44. Se citesc n numere naturale. Sa se afiseze cel care are suma divizorilor maxima. 
45. Sa se determine cel mai mic numar prim mai mare decat un numar natural n citit de la tastatura. 
46. Sa se afiseze toate numerele prime din intervalul [a,b]. 
47. Se citesc 2 numere naturale a si b. Afisati toate perechile de numere x si y din intervalul [a,b] care au
proprietatea ca au acelasi numar de divizori.
48. Un numar natural n se numeste superprim daca atat el cat si toate prefixele sale sunt numere prime.
Numarul 2399 este superprim deoarece 2399, 239, 23 si 2 sunt numere prime. 
Pentru un numar natural n cti de la tastatura aflati toate numerele superprime mai mici sau egale cu
n. 
49. Sa se descompuna in factori primi un numar natural n si sa se afiseze factorii si puterile la care apar ei
in descompunere.
50. Un numar se numeste perfect daca este egal cu suma divizorilor sai mai mici decat el, de exemplu
6=1+2+3. 
Sa se afiseze toate numerele perfecte mai mici sau egale cu un numar n citit de la tastatura.
51. Calcul cmmdc
52. Calcul CMMMC
53. Se se afiseze primele n numere prime, n numar natural citit de la tastatura. 
54. Se citesc numere de la tastatura pana la primul numar prim citit. Sa se afiseze acest numar, iar
pentru fiecare celelalte se sa afiseze mesajul "nu e prim". 
55. Se citeste un numar natural n de maxim 4 cifre. Sa se calculeze si sa se afiseze termenii din sirul lui
Fibonacci care sunt mai mici decat n.
56. Se citeste un numar natural n cu cel mult 3 cifre si o baza b cuprinsa intre 2 si 9. Sa se afiseze
reprezentarea lui n in baza b. Se vor folosi doar variabile de tipuri simple. 
57. Se citesc n numere naturale. Sa se afiseze ce mai mare numar prim si de cate ori apare el. 
58. Se citeste un numar natural n. Introduceti semnul * in numar astfel incat produsul obtinut sa fie
maxim. 
Exemplu: n=4322, produsul maxim se obtine astfel: 4*322=1288. (celelalte variante: 43*22=946 sau
432*2=864 dau produs mai mic)
59. Scrierea unui numar in baza 2
60. Se citesc 2 numere naturale a si b. Sa se afiseze cel care mai multe cifre 1 in scrierea in baza 2. 
61. Cifra de control a unui numar n se numeste cifra obtinuta calculand repetat suma cifrelor lui n si
inlocuidu-l pe n cu suma calculata. 
Exemplu: 
pentru n=3429 calculam suma cifrelor 18, iar suma cifrelor lui 18 este 9, deci 9 este cifra de control a
lui 3429. 
Dandu-se un numar natural n si o cifra x, afisati primele n numere naturale care au cifra de control
egala cu x. 
Exemplu: pentru n=5 si x=7 se vor afisa numerele 7, 16, 25 , 34 si 43.
62. Se citeste un numar natural n cu cel mult 9 cifre. Sa se calculeze numarul obtinut din cifrele lui pare
aflate pe pozitii impare, numararea pozitiilor cifrelor incepand cu cifra cea mai semnificativa. 
Ex: daca n=2346561 rezulta 24 
63. Se citesc 2 numere naturale a si b. Afisati toate perechile de numere x si y din intervalul [a,b] care au
proprietatea ca au acelasi numar de divizori.
64. Se citeste numarul natural n. Afisati in ordine crescatoare numerele de la 1 la n*n pe n randuri a cate
n numere fiecare. 
Exemplu: 
pentru n=4 se afiseaza 
1 2 3 4 
5 6 7 8 
9 10 11 12 
13 14 15 16 
65. Pentru un numar natural n citit de la tastatura sa se afiseze n*n numere astfel: 
1 2 3 ... n 
2 3 4 ... n+1 
3 4 5 ... n+2 
...... 
n n+1 n+2 ... 2n-1 
66. Se considera urmatorul sir de numere: 1, 1, 2, 2, 1, 2, 3, 3, 3, 1, 2, 3, 4, 4, 4, 4, ... .Pentru un numar
natural n de maxim 4 cifre sa se scrie un program eficient ca timp de executie si utilizare a memoriei
care sa determine elementul de pe pozitia n din sirul definit mai sus.
67. Se citeste un numar natoral n. Afisati cifrele distincte ale lui n (in orice ordine). 
Exemplu: Cifrele distincte ale lui 234542 sunt 2, 3, 4 si 5. 
68. Doua numere naturale diferite a si b se numesc prietene daca suma divizorilor lui a fara a este egala
cu b si suma divizorilor lui b fara b este egala cu a. 
Scrieti un program care sa afiseze primele 3 perechi de numere prietene. 
69. Sa se calculeze cmmdc al 3 numere a, b si c fara a calcula cmmdc a doua dintre ele si apoi cu al
treilea. 
70. Scrieti o functie care sa calculeze si sa returneze numarul de divizori primi ai unui numar natural n
primit ca parametru. 
71. Se citesc 2 numere naturale a si n cu maxim 8 cifre fiecare. Sa se calculeze ultima cifra a numarului a
ridicat la puterea n. 
72. Sa se scrie o functie care primeste 3 parametri: n - numar natural, c1,c2 cifre si returneaza numarul
obtinut din n prin inlocuirea tuturor aparitiilor cifrei c1 cu c2. 
Ex. din n=2324, c1=2 si c2=5 returneaza 5354
73. Sa se scrie o functie interval care primeste 3 parametri n, a, b numere intregi. Functia determina un
interval (a,b) de lungime minima cu proprietatea ca n apartine intervalului (a,b) si ca a si b sunt
numere prime. Capetele intervalului vor fi returnate prin intermediul parametrilor a si b. 
74. Sa se afiseze toate numerele din intervalul [100,99999] care au proprietatea sunt prime si sunt
palindroame. Un numar este palindrom daca citit de la dreapta la stanga are aceeasi valoare.
75. Sa se scrie o functie care primeste ca parametru un numar natural n si afiseaza descopunerea lui n in
factori primi. 
Ex. n=45 => 3 3 5
76. Sa se scrie o functie care primeste ca parametru un numar natural n si returneaza suma exponentilor
din descompunerea in factori primi a lui n. 
77. Sa se scrie o functie care primeste ca parametru un numar natural n si returneaza numarul de factori
primi a lui n. 
Ex. pt n=45 returneaza 2 (3 si 5 sunt factorii primi ai lui 45) 
78. Se citesc 2 numere naturale a si b, a mai mic decat b. Sa se afiseze toate numerele din intervalul
[a,b] care se divid cu suma cifrelor lor. 
79. Sa se scrie o functie care primeste ca paramentru un numar natural n cu cel putin 2 cifre si cu cel mult
4 si returneaza numarul obtinut din prima si ultima cifra a lui n. Folosind acesta functie sa se
determine daca un numar a are exact 2 cifre. 
80. Sa se scrie o functie care primeste ca paramentru un numar natural n si returneaza cea mai mare
putere a lui 2 mai mica sau egala cu n. Folosind aceasta functie sa se decompuna un numar ca suma
de puteri ale lui 2. 
81. Se citeste un numar natural n. Sa se afiseze numerele obtinute prin permutarea circulara a cifrelor lui
n. Nu se vor folosi tablouri sau siruri de caractere. 
82. Se citesc doua puncte in plan A si B date prin coordonatele lor. Sa se calculeze si sa se afiseze
distanta dintre ele.
83. Sa se defineasca o structura pentru memorarea unei progresii aritmetice de ratie r si termen initial a.
Sa se afiseze primii 10 termeni ai progresiei date prin a si r.
84. Sa se defineasca o structura punct pentru memorarea coordonatelor unui punct din plan. Sa se
declare si sa se citeasca 3 puncte A, B, C. Sa se determine daca punctele sunt coliniare.
85. Sa se declara o structura complex pentru memorarea numerelor complexe. Sa se declare si sa se
citeasca o variabila de tip complex si sa se calculeze modulul numarului complex citit. 
B. Fisiere
1. Se citeste un numar natural n de maxim 4 cifre. Sa se scrie in fisierul text 2lan.out toate puterile lui 2
mai mici sau egale cu 2 la n, fiecare pe cate un rand. 
C. Siruri
1. Se citeste un vector A cu n elemente numere intregi. Sa se ordoneze crescator elementele vectorului
folosind metodele :
i. bulelor.
ii. Sortarea prin selectie directa.
2. Se citesc 3 cuvinte a, b si c. Sa se determine daca sunt anagrame (sunt compuse din aceleasi litere, in
alta ordine).
3. Se citeste un vector A cu n elemente numere naturale distincte, ordonate crescator. Se citeste apoi un
numar natural k. Sa se determine pozitia pe care apare k in vectorul A si numarul de pasi facuti de
program pana la gasirea lui. Daca numarul k nu se afla in vector se va afisa acest lucru impreuna cu
numarul de pasi facuti de program.
4. Un numar se numeste aproape prim daca poate fi scris ca produs de 2 numere prime distincte. Din
fisierul p.in se citesc n numere naturale cu maxim 4 cifre fiecare. Sa se determine cate dintre ele sunt
aproape prime. 
5.  Sa se ordoneze crescator elementele pare si descrescator cele impare fara a modifica pozitiile pe care
se afla elemente pare, respectiv impare. 
6. Se citesc 2 vectori A si B cu n si respectiv m elemente numere intregi. Elementele vectorilor sunt
ordonate crescator. Sa se construiasca un vector C care sa contina elementele din A si B ordonate
crescator.
7. Se citesc de la tastura cele n elemente ale unui sir de numere intregi . Sa se afiseze toate perechile de
elemente ale sirului ( nu neaparat consecutive ) cu proprietatea ca ambele elementele ale perechii au
aceeasi suma a cifrelor . 
8. Sa se ordoneze descrescator elementele lui vector cu n elemente numere intregi fara a afecta
elementele nule din vector si pozitiile acestora.
9. Cautarea binara. 
10. Se citeste un vector a cu cel mult 9 valori cifre. Sa se afiseze pe randuri separate permutarile circulare
ale vectorului. 
Ex. Pentru vectorul 1 3 5 4 se va afisa: 
3 5 4 1 
5 4 1 3 
4 1 3 5 
1 3 5 4 
11. Fiind dat un vector v cu n elemente numere intregi , sa se afiseze de cate ori gasim doua elemente
consecutive egale intre ele. 
12. Sa se afiseze elementele prime ale unui sir de n numere intregi citite de la tastatura . 
13. Se citeste de la tastatura un sir de n elemente numere intregi. Sa se afiseze elementele cu
proprietatea ca suma cifrelor lor este divizibila cu o valoare p data . 
14. Se citeste de la tastatura un sir de n numere intregi . Sa se afiseze maximul dintre elementele pare
ale sirului 
15. Fiind dat un vector v cu n elemente numere intregi , sa se construiasca alti doi vectori : primul va
contine numai elementele pare , iar al doilea numai elementele impare ale vectorului initial . 
16. Se dau doua multimi definite prin intermediul vectorilor u si v , cu m respectiv n elemente . Sa se
memoreze in vectorul w si apoi sa se afiseze reuniunea celor doua multimi ( elemente comune si
necomune luate o singura data ) . 
17. Doua multimi a si b cu n si respectiv m elemente se citesc de la tastatura. Sa se construiasca
multimea obtinuta prin reuniunea multimilor a si b.
18. Doua multimi a si b cu n si respectiv m elemente se citesc de la tastatura. Sa se determine daca
multimea a este inclusa in multimea b.
19. Se citeste un tablou a cu n elemente numere intregi. Sa se ordoneze crescator elementele aflate in
vector intre pozitia elementului minim si pozitia elementului maxim din tablou. Daca elementul minim
si cel maxim ocupa pozitii consecutive sa se afiseze mesajul "Nu se poate ordona".
20. Din fisierul ab.in se citesc 2 numere n si m si apoi elementela a doua multimi a cu n elemente si
respectiv b cu m elemente. Afisati produsul cartezian al celor 2 multimi. 
21. Sa se scrie o functie ordonare care primeste 3 parametri: un vector a cu maxim 100 de elemente
numere intregi, un numar natural n reprezentand numarul efectiv de elemente din vectorul a si un
numar natural k mai mic decat n. Functia ordoneaza crescator primele k elemente ale vectorului a si
descrescator celelalte n-k. 
22. In fisierul date.in se gasesc cifre separate prin cate un spatiu. Sa se afiseze cifrele in ordinea
descrescatoare a numarului de aparitii.
D. Matrici
1. Se citeste o matrice cu n linii si m coloane avand elementele numere naturale. Sa se inlocuiasca
fiecare element din matrice cu numarul sau de divizori. 
2. Se citeste o matrice nXm cu elemente intregi. Sa se ordoneze crescator elementele pare de pe liniile
cu numar par. 
3. Se citeste o matrice nXm cu elemente intregi. Sa se ordoneze crescator elementele de pe prima linie
prin interschimbare de coloane.
4. Se citeste o matrice nXm cu elemente intregi. Sa se permute circular liniile matricii. 
5. Se citeste o matrice patratica cu elemente intregi numere naturale. Sa se calculeze cmmdc al sumei
elementelor de deasupra diagonalei principale si al sumei elementelor de sub diagonala principala. 
6. Se citeste o matrice patratica cu elemente intregi numere naturale. Sa se afiseze elementele aflate pe
linie si coloana cu aceeasi suma a elementelor.
7. Ce citeste o matrice patratica nXn cu elemente intregi. Sa se calculeze suma elementelor adiacente
diagonalei principale a matricii si media celor de pe diagonala secundara. 
8. Se citeste o matrice n*m cu elemente intregi. Sa se determine elementul care apare de cele mai multe
ori in matrice si de cate ori apare el. 
9. Din fisierul m.in se citesc doua numere n si m si apoi o matrice a cu n linii si m coloane cu elemente
intregi. Determinati daca matricea are toate elemente distincte. 
10. a) Cititi din fisierul mat.in o matrice a cu n linii si m coloane cu elemente intregi. 
b) Construiti un vector x care sa contina elementele de pe marginea matricii citite la punctul a. 
c) Ordonati crescator vectorul x. 
d) Plasati inapoi in matrice, pe margine elemntele din vectorul x, intai pe prima linie, apoi ultima
coloana, ultima linie si prima coloana. 
e) Afisati in fisierul mat.out vectorul x si matricea astfel modificata. 
Pentru fiecare cerinta se va scrie o functie separata si nu se vor folosi variabile globale. 
Exemplu: 
pentru datele: 
4 5 
5 4 3 2 1 
1 2 3 4 5 
9 8 7 6 5 
1 2 3 4 5 
se afiseaza: 
1 1 1 2 2 3 3 4 4 5 5 5 5 9 
1 1 1 2 2 
9 2 3 4 3 
5 8 7 6 3 
5 5 5 4 4 
E. Inregistrari
1. Se citesc n fractii dintr-un fisier text. Sa se afiseze fractiile reductibile ordonate crescator. 
Ex: Daca se citesc urmatoarele 4 fractii: 3/6 2/8 3/7 2/20 se vor afisa 2/20 2/8 2/6 
2. Despre fiecare dintre cei n elevi dintr-o clasa se citesc urmatoarele date: 
- numele (sir de caractere de lungime maxima 20) 
- numele (sir de caractere de lungime maxima 20) 
- media notelor in oral la informatica 
- nota in teza la informatica 
Sa se afiseze ordonati alfabetic elevii corigenti la informatica. Pentru fiecare elev corigent se vor afisa:
numele, prenumele si media la informatica. 
3. In fisierul sarituri.in sunt notate numele, prenumele si lungimea sariturii pentru cei n elevi dintr-o
clasa. Numele si prenumele sunt siruri de caractere, iar lungimea sariturii este numar real. Sa se
construiasca doua fisiere text baieti.out si fete.out in care sa se afiseze baeietii si respective fetele din
clasa, ordonati/ordonate descrescator dupa lungimea sariturii. Se considera ca toate fetele din clasa
au prenumele terminat cu litera a.
4. Din fisierul text clasa.in se citesc urmatoarele informatii despre fiecare elev din clasa: numele,
prenumele si media. 
Sa se afiseze elevii din clasa ordonati descrescator dupa medie. 
F. Altele
1. Un om are de urcat n trepte stiind ca poate pasi pe treapta urmatoare sau sari peste o treapta. In cate
moduri poate urca omul cele n trepte? 
G. Recursivitate
1. Sa se scrie o functie recursiva care primeste 3 parametri: n - numar natural, c1,c2 cifre si returneaza
numarul obtinut din n prin inlocuirea tuturor aparitiilor cifrei c1 cu c2. 
Ex. din n=2324, c1=2 si c2=5 returneaza 5354
2. Sa se scrie o functie recursiva care primeste un parametru n numar natural si returneaza numarul
obtinut din n prin scaderea cu 1 a cifrelor impare si marirea cu 1 a celor pare. 
Ex. din n=2324 returneaza 3235
3. Sa se scrie o functie recursiva care primeste un parametru n numar natural si returneaza numarul
obtinut din n prin eliminarea cifrelor pare. 
Ex. din n=23524 returneaza 35
4. Sa se scrie o functie recursiva cu 2 parametri siruri de caractere care sa determine daca sunt
anagrame (sunt compuse din aceleasi litere, in alta ordine).
5. Sa se scrie o functie recursiva care calculeaza si returneaza suma cifrelor unui numar natural primit ca
parametru.
6. Sa se scrie o functie recursiva care primeste ca parametru litera 'A' si afiseaza in ordine toate literele
mari din alfabet.
7. Sa se scrie o functie recursiva care sa afiseze descompunerea in factori primi a unui numar natural.
8. Sa se scrie o functie recursiva care primeste ca parametru un sir de caractere format din cel mult 100
de caractere litere mici si elimina toate vocalele din sir. 
9. Se citeste un vector a cu n elemente numere naturale. Sa se calculeze elementul maxim din vector.
Se va folosi o functie recursiva pentru citire si una recursiva pentru determinarea elementului maxim. 
10. Sa se calculeze CMMDC al doua numele naturale folosind o functie recursiva. 
11. Sa se determine cifra maxima a unui numar natural folosind o functie recursiva. 
12. Sa se scrie o functie recursiva pentru calculul rasturnatului unui numar natural.
13. Sa se scrie o functie recursiva care calculeaza cate cifre are un numar natural.
14. Sa se scrie o functie recursiva pentru calculul primei cifre a unui numar natural. 
15. Sa se scrie o functie recursiva care primeste un parametru n numar natural si afiseaza: 

1 2 
1 2 3 
..... 
1 2 3 4 ... n
16. Sa se scrie o functie recursiva care primeste un parametru n numar natural si afiseaza: 
1 2 3 4 ... n 
... 
1 2 3 
1 2 

17. Sa se scrie o functie recursiva care primeste un parametru n numar natural si afiseaza: 

## 
### 
.... 
###...#
18. Sa se scrie o functie recursiva care primeste un parametru n numar natural si afiseaza: 

## 
*** 
.... 
###...# daca n par 
sau 
***...* daca n impar
19. Sa se scrie o functie recursiva care primeste un parametru n numar natural si afiseaza cifrele sale in
ordinea din el si separate prin cate un spatiu.
20. Se citeste un vector cu n elemente numere naturale folosind o functie recursiva. Sa se calculeze suma
tuturor cifrelor din care sunt formate elementele vectorului folosind doar functii recursive.
21. Sa se calculeze recursiv suma 1 + 1/2 + 1/3 + ... +1/n.
22. Sa se calculeze recursiv suma 1*2 + 2*3 + ... + n*(n+1).
23. Sa se calculeze recursiv suma 
1/1 + 2/2 + 3/3 + 5/4 + 8/5 + ... + fib(n)/n 
unde fib(n) este al n-lea termen din sirul lui Fibonacci. 
24. Sa se calculeze recursiv suma primelor n patrate perfecte. 
25. Sa se calculeze recursiv 2 la puterea n. 
26. Sa se calculeze recursiv de cate ori apare o valoare intreaga x intr-un vector a cu n elemente intregi. 
27. Sa se scrie o functie recursiva care numara cate vocale mici are un cuvant transmis ca parametru.
28. Sa se calculeze recusiv suma 
S=1/2+2/1+2/3+3/2+...+n/(n+1)+(n+1)/n. 
H. Combinatorica
1. Sa se genereze si sa numere toate numerele formate din p cifre distincte avand cifrele ordonate
crescator. 
2. Sa se genereze si sa numere toate permutarile multimii {1,2,3,...,n} care au proprietatea ca oricare
doua elemente alaturate au paritate diferita. 
Ex: pentru n=4: 
1 2 3 4 
1 4 3 2 
2 1 4 3 
... 
4 3 2 1 
3. Sa se genereze si sa numere toate permutarile multimii {1,2,3,...,n} care incep cu valoarea 1. 
4. Sa se genereze si sa numere toate submultimile multimii {1,2,3,...,n}. 
5. Sa se genereze si sa numere toate permutarile multimii {1,2,3,...,n}. 
6. Sa se genereze si sa numere toate aranjamentele de cate p elemente ale multimii {1,2,3,...,n}. 
7. Sa se genereze si sa numere toate submultimile de cate p elemente ale multimii {1,2,3,...,n}. 
8. Se citeste un numar natural n si un numar natural p mai mic decat n. Sa se descompuna n in toate
modurile ca suma de p numere naturale. 
9. Sa se genereze toate numerele formate din 5 cifre impare distincte. 
10. Se citeste un cuvant format doar din litere mici distincte. Sa se genereze anagramele lui. 
I. Liste inlantuite
1. In doua fisiere text f1.in si f2.in se gasesc 2 multimi A si respectiv B cu elemente numere naturale. 
a) Sa se creeze cate o lista liniara simplu inlantuita pentru memorarea elementelor din fiecare dintre
cele 2 multimi. 
b) Sa se creeze o lista liniara simplu inlantuita care se memoreze reuniunea celor 2 multimi. 
c) Sa se creeze o lista liniara simplu inlantuita care se memoreze intersectia celor 2 multimi.
2. a) Sa se creeze o lista liniara simplu inlantuita care sa memoreze urmatoarele informatii despre elevii
unei clase formata din n elevi: 
- numele (sir de maxim 20 de caractere) 
- prenumele (sir de maxim 20 de caractere) 
- 3 note intr-un vector cu 3 componente reale 
b) Sa se afiseze numele, prenumele si media fiecarui elev. 
c) Sa se scrie o functie care calculeaza si returneaza media clasei.
3. Scrieti o functie care primeste ca parametru primul nod al unei liste liniare simplu inlantuite si
inverseaza primul nod al listei cu ultimul. Primul nod al listei rezultate va fi returnat ca rezultat al
functiei. 
4. Scrieti o functie care primeste ca parametru primul nod al unei liste liniare simplu inlantuite si
elibereaza zona de memorie ocupata de lista. 
5. Intr-un fisier text se gasesc numere naturale. Sa se ordoneze crescator numerele din fisier folosind o
lista liniara simplu inlantuita. Se va folosi metoda sortarii prin insertie.
6. Sa se construiasca o lista liniara simplu inlantuita care sa contina numere naturale. Sa se scrie o
functie care sa separe elementele pare de cele impare in 2 liste separate. 
7. Sa se construiasca o lista liniara simplu inlantuita cu elemente numere intregi. Sa se stearga din lista
elementele pare. 
8. Sa se construiasca o lista liniara simplu inlantuita cu elemente numere intregi folosind adaugarea la
sfarsitul listei. Sa se inverseze sensul legaturilor din lista astfel incat sa se obtina o lista cu nodurile
aranjate in ordine inversa.
9. Sa se scrie o functie care primeste ca parametru adresa primului nod al unei LLSI cu cel putin 3 noduri
si sterge primul si ultimul nod al listei.
10. Sa se scrie o functie care primeste ca parametru adresa primului nod al unei LLSI cu cel putin 3 noduri
si muta primul nod al listei dupa ultimul nod al listei.
11. Sa se creeze o lista liniara dublu inlantuita cu noduri care sa contina: 
- campul info numar intreg de maxim 4 cifre; 
- campurile prec si urm care sa contina informatii de legatura spre nodul anterior, respectiv urmator
din lista. 
a) Sa se afiseze lista in ambele sensuri 
b) Sa se stearga toate nodurile din lista cu exceptia primului si a ultimului nod.
12. Se considera o lista liniara dublu inlantuita ale carei noduri sunt memorare cifre. Sa se scrie o functie
care primeste ca parametru adresa primului nod al listei si verifica daca numarul care se compune din
cifrele memorare in lista in ordine este sau nu palindrom. Functia va returna 1 daca este palindrom si
0 in caz contrar.
13. Se considera o lista liniara dublu inlantuita. Sa se scrie o functie care primeste ca parametru adresa
primului nod al listei si muta ultimul nod in fata primului.
14. a) Sa se creeze o LLDI care sa memoreze numere intregi citite dintr-un fisier text. 
b) Sa se scrie o functie care primeste ca parametru adresa primului nod al listei si o afiseaza in
ambele sensuri. 
c) Sa se scrie o functie care primeste ca parametru adresa p a unui nod si un numar natural x si
adauga dupa nodul indicat de p un nod care sa contina valoarea x. 
d) Sa se scrie o functie care primeste ca parametru adresa p a unui nod si sterge nodul indicat de p. 
e) Folosind functiile de punctele b), c) si d) sa se adauge dupa nodul al doilea un nod cu informatia 7,
sa se stearga al treilea nod si apoi primul nod si sa se afiseze lista in ambele sensuri dupa fiecare
dintre aceste operatii. 
15. a) Sa se creeze o lista liniara dublu inlantuita care sa memoreze valori intregi prin adaugare la
sfarsitul listei. 
b) Sa se scrie o functie care primeste ca parametru adresa primului nod al listei si muta primul nod
dupa ultimul. 
c) Folosind functia de la b) sa se afiseze permutarile circulare ale sirului de numere memorat in lista.
16. Se considera o lista liniara dublu inlantuita. Sa se scrie o functie care primeste ca parametru adresa
primului nod al listei si sterge primul si ultimul nod din lista.
17. Se considera o lista liniara dublu inlantuita cu numar par de noduri. Sa se scrie o functie care primeste
ca parametru adresa primului nod al listei si interschimba primul nod cu cel de-al doilea, al treilea cu
cel de-al patrulea si asa mai departe.
18. Se considera o lista liniara simplu inlantuita care memoreaza valori intregi. Sa se scrie o functie care
primeste ca parametru adresa primului nod al listei si insereaza in fata fiecarui nod care memoreaza o
valoare negativa un nod care sa memoreze opusul acesteia.
19. Se considera o lista liniara simplu inlantuita care memoreaza valori intregi. Sa se scrie o functie care
primeste ca parametru adresa primului nod al listei si insereaza dupa fiecare nod care memoreaza o
valoare para un nod care sa memoreze jumatate din valoare acestuia.
20. Sa se creeze o lista liniara simplu inlantuita care contine elemente intregi citite dintr-ul fisier text. 
Se citesc apoi doua valori intregi v si x. Sa se adauge dupa primul nod care contine valoarea v un nod
care sa contina valoarea x.
21. Sa se creeze o lista liniara simplu inlantuita care contine elemente numere reale citite dintr-ul fisier
text. 
Sa se insereze intre oricare 2 noduri din lista un nod care sa contina media celor 2 valori din cele 2
noduri.. 
22. Sa se creeze o lista liniara simplu inlantuita care contine elemente intregi citite dintr-ul fisier text. 
Se citeste apoi o valoare intreaga x. Sa se stearga primul nod care contine valoarea x. 
23. Se citesc numere intregi dintr-un fisier text. Sa se creeze 2 liste care sa contina in ordine elementele
din fisier, una elementele pare, iar cealalta pe cele impare. 
Sa se adauge la sfarsitul listei cu elemente pare lista cu elemente impare. 

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