Sunteți pe pagina 1din 3

PROBLEME RECAPITULATIVE

1.Se citesc de la tastatura n numere reale. Determinati:

a) Numarul celor cu exact 2 zecimale.


b) Suma celor care au numarul de cifre de la partea intreaga egal cu numarul de zecimale
c) Media aritmetica a numerelor intregi citite
d) Perechile de numere citite consecutiv care au acelasi numar de zecimale
e) Tripletele de numere consecutive care sunt ordonate strict crescator
f) Cel mai mare numar negativ si numarul de aparitii.(Daca nu exista numere negative se va afisa mesajul
”Nu exista”.

2. Se citesc doua numere naturale a si b (a mai mic decat b). Afisati cel mai mare numar din intervalul [a,b] care are
proprietatea ca au numar maxim de divizori primi.

3. .Afisati numerele mai mici sau egale cu n care sunt divizibile cu suma cifrelor lor.

4. Mariti cifrele pare ale numarului n cu valoarea 1 si micsorati cifrele impare cu 1.

5. Se citesc de la tastatura doua numere naturale a si b. Sa se afiseze pe ecran , cate unul pe linie , toate numerele
naturale situate in intervalul inchis determinat de a si b care au suma cifrelor divizibila cu p dat.

6. Se citeste de la tastatura un numar natural m . Sa se elimine cifra de rang k dat ( rangul

unei cifre este numarul sau de ordine , numerotand cifrele de la dreapta la stanga ).Daca nu exista o asa cifra se va
afisa mesajul “Nu exista”.

Ex: pentru m = 452855 si k =3 , se va afisa valoarea 45255 .

7.Se citesc numere naturale pana la intalnirea unui numar par. Sa se determine:

a) Cate numere citite au prima cifra para


b) Suma rasturnatelor numerelor cu cel putin 2 cifre.
c) Verificati daca toate numerele citite sunt prime
d) Afisati primul si ultimul numar din sirul citit care au cel putin doua cifre iar cifrele sunt egale(Se va afisa
mesajul “nu exista” daca sirul nu contine numere cu aceasta proprietate.
e) Cate perechi de numere citite consecutive sunt prime intre ele.

8. Se citeste un numar natural n. Afisati factorul prim care apare la puterea cea mai mare in descompunerea in factori
primi a lui n. Daca mai multi factori apar ca acea putere maxima, atunci se va afisa cel mai mare dintre ei. Exemplu:
n=36 => 3 (din 2 la 2 si 3 la 2), iar n=40 =>2 (din 2 la 3 si 5 la 1

9. Se citesc numere naturale pânã când se introduce numãrul 0. Afisati suma obtinutã prin adunarea numerelor
formate din primele douã cifre ale numerelor citite. Numerele cu mai putin de 2 cifre nu se iau in considerare.
Exemplu: dacã se introduc numerele 3455 66 7 8 22 11221 0 atunci se va afisa 133(=34+66+22+11)

10. Se citeste un numar natural n. Calculati numerele care se pot obtine din n prin eliminarea unei singure cifre si
afisati-l pe cel mai mare ditnre acestea. Exemplu: din 45329 se obtine 5329 (e scel mai mare dintre numerele 4532
4539 4529 4329 5329)

11. Sa se scrie un program care calculeaza cifra de control a unui numar intreg. Cifra de control se obtine efectuand
suma cifrelor sale, apoi suma cifrelor acestei sume etc. pana se obtine o suma formata dintr-o singura cifra. Aceasta
cifra se numeste cifra de control. Ex. Cifra de control a numarului 2451 este 3 (12->3)

12. Se citesc numere naturale pana cand se introduce valoarea 0. Pentru fiecare numar citit calculati numarul format
din cifrele lui pare, numarul format din cifrele lui impare si afisati cel mai mare dintre cele doua numere calculate.
Exemplu: Daca introducem numerele 234564 335 224 10136 0 vom obtine numerele 2464 335 224 113

13. Se citesc doua numere naturale a si b. Calculati si afisati cate numere din intervalul [a,b] au proprietatea ca sunt
incadrate de doua numere prime. Un astfel de numar este 12 (11 si 13 sunt prime).

Exemplu: In intervalul [10,30] sunt 3 astfel de numere (12, 18 si 30)


14. Sa se afiseze primele n perechi de numere gemene.

15.Să se scrie o funcție care are ca parametru un număr natural n și returnează cel mai mare număr care poate fi
obținut mutând, pe rând, prima cifră a numărului n și a celor obținute pe parcurs, pe ultima poziție. Nu se vor folosi
șiruri de caractere și tablouri auxiliare.

16. Să se scrie o funcție C++ care să returneze suma factorialelor cifrelor unui număr natural transmis ca parametru.

17. Să se scrie o funcție C++ care să returneze cel mai mare număr care se poate scrie cu cifrele unui număr natural
transmis ca parametru.

18. Subprogramul Egal are un parametru, n, prin care primește un număr natural cu cel puțin o cifră impară.
Subprogramul returnează valoarea 1 dacă toate cifrele impare ale lui n sunt egale între ele sau valoarea 0 în caz
contrar. Scrieți definiția completă a subprogramului

19. Să se scrie o funcție C++ care primește doi parametri a și b și returnează numărul obținut prin concatenarea lui a
cu b.

20. Să se scrie o funcție C++ care să determine in mod efficient suma divizorilor unui număr natural transmis ca
parametru. Funcția va returna rezultatul.

21. Scrieţi definiția completă a unui subprogram C++ i_prim care primește prin singurul său parametru, n, un număr
natural cu cel mult 9 cifre și returnează diferența minimă p2-p1 în care p1 şi p2 sunt numere prime și p1≤n≤p2.

22. Să se scrie o funcţie care primeşte ca argumente două numere naturale a şi b şi returnează numărul de elemente
din intervalul [a,b] care au cifra de control egală cu a, unde a este un numar natural nenul cu o cifra.

23. Să se scrie o funcție C++ care să returneze pentru un număr natural n transmis ca parametru numărul de cifre
zero de la finalul lui n! = 1•2•...•n.(n<=1000).

24. Să se scrie o funcție C++, cu un parametru, n, care returnează cel mai apropiat număr de n care este factorialul
unei valori.

25. Se spune despre numărul natural nenul n că este norocos dacă numărul n2 se poate scrie ca suma a n numere
naturale nenule consecutive. De exemplu, 7 este norocos, deoarece 72=4+5+6+7+8+9+10. Scrieţi în limbajul C/C++
definiţia completă a funcţiei norocoase, care primeşte ca argumente două numere naturale a şi b şi returnează câte
numere norocoase se află în intervalul [a, b].

26. Subprogramul minDivPrim are un singur parametru, n, prin care primeşte un numărnatural. Subprogramul
returnează cel mai mic număr natural care are aceiași divizori primi ca n. Scrieţi definiţia completă a subprogramului.

27. Subprogramul cifreImpare are un singur parametru, n, prin care primește un număr natural cu toate cifrele nenule
(n∈[1,109]). Subprogramul returnează numărul obținut prin eliminarea tuturor cifrelor impare din n, respectiv -1 dacă
nu există astfel de cifre sau dacă toate cifrele lui n sunt impare. Scrieți definiţia completă a subprogramului.

28. Șirul lui Fibonacci (1, 1, 2, 3, 5, 8, 13, 21,...) se definește astfel:f1=1, f2=1, fi=fi−1+fi−2 pentru orice număr natural
i, i≥3. Subprogramul Fibo are un singur parametru, n, prin care primeşte un număr natural (n ∈[1,30]). Subprogramul
returnează al n-lea termen impar al șirului lui Fibonacci. Scrieți definiția completă a subprogramului.

29. Subprogramul interval are un singur parametru, n, prin care primește un număr natural (n ∈ [3,106]).
Subprogramul returnează cel mai mic număr natural x (n<x) care NU este prim, cu proprietatea că în intervalul [n,x]
există un singur număr prim. Scrieţi definiţia completă a subprogramului.

30. Definiți funcția void FRadical(int n, int &x, int &y)

cu parametrii:

n, prin care primește un număr natural din intervalul [1, 1.000.000.000]

x și y – două numere naturale care se determină, cu proprietatea că x 2 * y = n, iar x este maxim posibil
31. Scrieți funcția inserare care primește ca parametru un număr natural n și furnizează prin intermediul aceluiași
parametru numărul obținut din n prin inserarea, între oricare două cifre alăturate ale sale, a valorii absolute a
diferenței acestora.

32. Să se scrie o funcție C++ care primește ca parametri două numere n și k și determină numărul format din primele
k cifre ale lui n. Funcția va întoarce rezultatul prin intermediul unui parametru de ieşire.

33. Să se scrie o funcție C++ care primește ca parametri două numere n și k și determină numărul format din primele
k cifre ale lui n. Funcția va întoarce rezultatul prin intermediul unui parametru de ieşire.

34. Subprogramul duplicare are un singur parametru, n, prin care primește un număr natural (n∈[1,104)).
Subprogramul furnizează, prin același parametru, numărul obținut din n prin inserarea, după fiecare cifră pară din
scrierea lui, a unei cifre egale cu jumătate din aceasta. Scrieți definiția completă a subprogramului.

35. Scrieți funcția Kth care primește ca parametri:

a – un vector de numere întregi

n – un număr natural reprezentând numărul elementelor vectorului

x – un număr întreg

k – un număr natural

Funcția va returna poziția din vector unde x apare pentru a k-a oară, sau -1 dacă x nu apare de cel puțin k ori

35. Scrieţi definiţia completă a subprogramului C/C++ aranjare, care are doi parametri, v şi n, prin care primeşte un
tablou unidimensional cu maximum 10000 de numere naturale nenule şi, respectiv, numărul de elemente din tablou.
Subprogramul rearanjează elementele tabloului astfel încât toate valorile impare să se afle pe primele poziţii, iar
valorile pare în continuarea celor impare.

36. Scrieţi definiția completă a subprogramului C++ interval care are 2 parametri: a, prin care primeşte un tablou
unidimensional cu maximum 100 de numere naturale mai mici decât 1000 și n, numărul efectiv de elemente ale
tabloului.Subprogramul returnează numărul de elemente din tablou care aparțin intervalului închis determinat de
primul și ultimul element al tabloului.

37. Scrieţi definiția completă a subprogramului C++ sub care are 3 parametri: n – prin care primește un număr
natural, v, prin care primeşte un tablou unidimensional cu n elemente, numere naturale cu cel mult 4 cifre și k, prin
care primeşte un număr natural.Subprogramul returnează suma primelor k elemente cu valoare impară ale tabloului.
Dacă nu există k elemente impare în tablou, subprogramul returnează valoarea -1.

38. Să se scrie o funcție C++ care are ca parametru un numar natural n și și o matrice A(n , m) avȃnd elemente
numere întregi și returnează numărul de elemente „șa” din matrice. Un element A(i,j) din matrice se numește element
„șa” dacă este maximul de pe coloana j si minimul de pe linia i sau invers.

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