Sunteți pe pagina 1din 7

Nr.

Nivel Enunţ
crt.
1. Se citește un număr natural n. Să se scrie programul C++ care determină și afișează suma
* cifrelor pare și produsul celor impare.
2. Se citește un număr natural n. Să se scrie programul C++ care determină și afișează
* inversul numărului format doar din cifrele impare ale acestuia.
3. Se citește un număr natural n. Să se scrie programul C++ care determină și afișează câte
* cifre impare are numărul citit.
4. Se citește un număr natural n. Să se scrie programul C++ care determină și afișează
* numărul de cifre ale lui n.
5. Se citește un număr natural n. Să se scrie programul C++ care verifică dacă numărul citit
* este palindrom.
6. Se citește un număr natural n. Să se scrie programul C++ care determină și afișează cea
* mai mare și cea mai mică cifră a numărului n, dat.
7. Se citește un număr natural n și o cifră x. Să se scrie programul C++ care determină și
* afișează de câte ori apare cifra x în scrierea numărului n.
8. Se citește un număr natural n. Să se scrie programul C++ care afișează pe ecran mesajul
* DA dacă toate cifrele lui n sunt în ordine crescătoare și mesajul NU în caz contrar.
9. Se citesc două numere naturale a și b, reprezentând numărătorul, respectiv numitorul unei
* fracții. Să se scrie programul C++ care verifică dacă fracția este ireductibilă, afișând un
mesaj corespunzător.
10. Se citesc două numere naturale a și b, reprezentând numărătorul, respectiv numitorul unei
* fracții. Să se scrie programul C++ care afișează fracția simplificată.
11. Se citesc două numere naturale nenule a și b. Să se scrie programul C++ care verifică
* dacă cele două numere sunt prime între ele, afișând un mesaj corespunzător.
12. Se citește un număr natural n. Să se scrie programul C++ care determină și afișează
* divizorii proprii ai lui n.
13. Se citește un număr natural n. Să se scrie programul C++ care determină și afișează suma
* divizorilor mai mici decât el.
14. Se citește un număr natural n. Să se scrie programul C++ care afișează pe ecran mesajul
* DA dacă numărul este perfect sau mesajul NU în caz contrar. Un număr este perfect dacă
este egal cu suma divizorilor săi, mai mici decât el. De exemplu 6 este perfect, deoarece
6=1+2+3, adică este egal cu suma divizorilor săi.
15. Se citesc două numere naturale a și b. Să se scrie programul C++ care determină și
* afișează divizorii comuni ai celor două numere citite.
16. Se citește un număr natural n>1. Să se scrie programul C++ care afișează mesajul DA,
* dacă n este număr prim și NU în caz contrar. Un număr este prim dacă are divizori doar
pe 1 și pe el însuși. De exemplu 73 este prim, dar 75 nu este prim (are divizori pe 3, 5, 15,
25)
17. Se citesc pe rând numere întregi până la citirea lui 0. Se cere: suma numerelor citite,
* maximul, minimul, cele mai mari/mai mici două numere citite, câte sunt negative, câte sunt
pare/impare, maximul negativelor/pozitivelor.
18. Se citesc n numere întregi. Se poate cere: suma numerelor citite, maximul, minimul, cele
* mai mari/mai mici două numere citite, câte sunt negative, câte sunt pare/impare, maximul
negativelor/pozitivelor.
19. Se citesc 2 numere naturale nenule. Să se determine cmmdc (prin Euclid sau prin scăderi
* succesive) şi cmmmc. Ca aplicaţie: să se verifice dacă o fracţie dată prin numărător şi
numitor este ireductibilă sau dacă două numere naturale nenule sunt prime între ele.
20. Să se verifice dacă un număr natural este prim.
*
21. Să se determine divizorii proprii ai unui număr natural: să se afişeze, sau suma lor, sau
* câţi sunt, să se verifice dacă un număr este perfect (este egal cu suma divizorilor săi mai
mici decât el), toţi divizorii comuni a două numere.
22. Descompunerea în factori primi a unui număr natural; suma divizorilor primi, câţi divizori
* primi are un număr, de câte ori apare un număr prim în descompunerea în factori primi a
unui număr natural, factorul prim care apare la puterea cea mai mare în descompunerea
în factori primi a unui număr natural.
23. Conversii din baza 10 în baza b, din baza b în baza 10, verificarea dacă un număr este
* scris corect într-o bază dată, câte cifre de 1 sau de 0 sunt în scrierea binară a unui număr
dat, să se verifice dacă două numere date au acelaşi număr de cifre de 1 în scrierea lor
binară.
24. Şirul lui Fibonacci: generarea primilor n termeni ai şirului, verificarea dacă un număr natural
* este termen al şirului, verificarea dacă două numere naturale sunt termeni consecutivi ai
şirului lui Fibonacci.
25. Se citește un număr natural cu cel mult 9 cifre. Să se afișeze cifrele numărului, în ordine
* crescătoare, și de câte ori apar acestea în scrierea zecimală a numărului dat. Exemplu:
pentru n=4112613473 se va afișa: 1-3, 2-1, 3-2, 4-2, 6-1, 7-1, adică 1 apare de 3 ori, 2
apare o dată, 3 apare de 2 ori, șamd.
26. Se dau două numere naturale nenule, a și b, de cel mult 9 cifre. Să se afișeze cifrele
* comune, o singură dată, în ordine crescătoare. Exemplu: pentru numerele 12323234 și
657284 se va afișa 2 4, pentru că 2 și 4 sunt cifre comune celor două numere.
27. Fie date două cifre zecimale nenule, a și b. De la tastatură se va introduce un șir de numere
** naturale, citirea terminându-se o dată cu introducerea valorii 0 (care nu face parte din șir,
deci nu va fi prelucrată). Să se afișeze numărul de valori citite care au proprietatea că au
în scrierea zecimală succesiunea de cifre ab.. Exemplu: pentru a=2 și b=4 și valorile 2342,
420, 8248, 15264, 24245, 0 se va afișa 2.
28. Fiind dat un număr natural de maxim 9 cifre, să se determine între care două cifre se poate
** plasa operatorul de înmulțire, astfel încât produsul celor două numere obținute să fie
maxim. Exemplu: pentru valoarea 3203 se va afișa 320*3=960, care este mai mare decât
32*03=96, sau 3*203=609.
29. Se citește un număr natural n, nenul. Să se verifice dacă el este ”aproape prim”. Definim
** un număr ”aproape prim” dacă el poate fi scris ca produsul a două numere prime. Exemplu,
pentru n=15 se va afișa mesajul ”ESTE APROAPE PRIM” deoarece el este produsul
numerelor 3 și 5 care sunt prime. Pentru numărul 12 se va afișa mesajul ”NU ESTE
APROAPE PRIM”, deoarece el este produsul numerelor 3 și 4, sau 2 și 6, care nu sunt
ambele prime.
30. Se introduc de la tastatură baza de numeraţie k (k>=2), şi cifrele unui număr. Să se verifice
** dacă cifrele sunt corecte pentru baza de numeraţie aleasă şi să se afişeze suma cifrelor
de rang impar. Citirea cifrelor se face începând cu cifra cea mai semnificativă a numărului,
și se va opri la introducerea unei valori negative.
31. Să se genereze toate numerele naturale a căror reprezentare în baza 8 are exact 4 cifre.
**
32. Să se afişeze toate numerele naturale mai mici decât un număr dat, n, care se introduce
** de la tastatură,(n>=7), a căror reprezentare în baza 2 conţine exact trei cifre binare de 1.
33. Fiind dat un număr în baza 10, să se verifice dacă numărul poate fi palindrom într-o bază
** b (2<=b<=9 ). Ex: numărul 42 este palindrom în baza 4.
34. Să se afişeze toate numerele naturale cuprinse între a şi b (a<b) care au proprietatea că
** pătratul şi cubul lor, reprezentate în baza 2, conţin acelaşi număr de cifre binare 0. a şi b
se citesc de la tastatură.
35. Să se afişeze toate numerele în baza 2, care au k cifre, k citit de la tastatură.
**
36. Să se afişeze toate numerele în baza 2 care au k cifre şi sunt divizibile cu 2n, k şi n se
*** introduc de la tastatură. (Indicaţie: Un număr reprezentat în baza 2 este divizibil cu 2n
dacă ultimele n cifre ale reprezentării sunt 0. De exemplu numărul 32 reprezentat în baza
2 este 100000, este divizibil cu 25, deoarece este format din 1 urmat de 5 cifre de 0, dar şi
1100000 este divizibil cu 25, deoarece are ultimele 5 cifre egale cu 0, la fel şi numărul
1000000 este divizibil cu 25, dar şi 10100000 este divizibil cu 25)
37. Să se afişeze toate numerele naturale mai mici decât n care sunt palindrom în baza k,
** unde n şi k se introduc de la tastatură.
38. Să se afişeze toate numerele naturale reprezentate în baza k, mai mici decât n, care sunt
** palindrom în baza 10, unde n şi k se introduc de la tastatură, .
39. Pentru un număr b (2<=b<=9 ) să se scrie toate numerele mai mici decât o valoare x dată
** care, scrise în baza b, folosesc numai cifrele 0 şi 1. Ex pentru b=5 şi x=30 se va afişa 1,
5, 25, 26, 30.
40. Să se genereze termenii şirului lui Fibonacci, mai mici decât un număr natural n, dat.
*
41. Să se scrie un număr natural n, citit de la tastatură, sub formă de sumă de numere
* Fibonacci.
42. Să se verifice dacă două numere naturale a şi b, citite, sunt termeni consecutivi ai şirului
* lui Fibonacci.
43. Se citesc coeficienţii a, b, c ai unei ecuaţii de gradul II, şi un număr natural n. Fără a rezolva
*** ecuaţia, să se calculeze expresia: x1n+x2n, unde x1 şi x2 sunt soluţiile ecuaţiei.
44. Să se scrie un program care determină cel mai mic număr care are exact k divizori.
***
45. Determinaţi cel mai mic număr natural mai mic sau egal cu n care are numărul maxim de
** divizori proprii.n este citit de la tastatură.
46. Pentru un număr natural n citit de la tastatură, se va afişa mulţimea numerelor naturale
** mai mici decât n care sunt prime cu n.
47. Se citesc n numere naturale de la tastatură, numerele având maxim 9 cifre. Să se
** determine în câte zerouri se sfârşeşte produsul acestora, fără a efectua produsul.
48. Să se calculeze exponentul la care apare numărul prim p în descompunerea
** numărului 1*2*3*…*n, fără a efectua înmulţirea, unde n este citit de la tastatură.
49. Să se afişeze toate numerele prime de trei cifre care citite invers, sunt tot numere prime.
**
50. Să se afişeze toate numerele prime <=n, care sunt palindrom, unde n se citește de la
** tastatură.
51. Să se afişeze toate numerele din intervalul [a, b] care au suma cifrelor divizibilă cu 5.
**
52. Să se scrie programul care calculează “cifra de control” a unui număr natural efectuând
** suma cifrelor, sale, apoi suma cifrelor acestei sume, etc. până se obţine o sumă formată
dintr-o singură cifră.
53. Scrieţi un program care roteşte un număr natural n cu p poziţii spre dreapta. De ex:
** numărul 12345 rotit la dreapta cu 2 poziţii este 45123.
54. Se citesc pe rând numere întregi formate din minim 2 cifre, până la întâlnirea lui 0. Să se
** afişeze pe ecran câte numere care au prima cifră mai mare decât ultima cifră există.
55. Se citesc numere întregi până la întâlnirea lui 0. Să se afişeze perechile de numere citite
** consecutiv care sunt prime între ele. Ex: pentru următoarele numere citite 2, 3, 6, 12, 11,
5, 20, 14, 0 se vor afişa perechile (2,3), (12, 11), (11, 5).
56. Se citesc de la tastatură numere întregi, până la cititrea a două valori consecutive identice.
** Să se verifice câte din perechile citite consecutiv au aceeaşi sumă a cifrelor. Ex pentru
numerele citite: 12, 102, 21, 30, 43, 9, 52, 700, 700 se vor afişa perechile (12, 102), (102,
21), (21, 30), (52, 700). Ultimul număr care este egal cu penultimul citit nu se mai
analizează.
57. Se introduc de la tastatură un număr natural k, și un șir de numere naturale până la
** întâlnirea lui 0. Să se afișeze toate perechile de numere introduse consecutiv care au
proprietatea că au același număr de apariții ale cifrei k în pătratul lor.
58. Se introduce de la tastatură un șir de numere naturale până la întâlnirea lui 0. Să se afișeze
** toate perechile de numere introduse consecutiv care au proprietatea că suma cifrelor
primului număr este pară iar suma cifrelor celui de-al doilea număr este impară.
59. Să se afișeze primii n termeni ai șirului: 1, 1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5, …
**
60. Să se afișeze primii n termeni ai șirului: 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, …
**
61. Să se afișeze al n-lea termen al șirului: 1, 2, 1, 3, 2, 1, 4, 3, 2, 1, 5, 4, 3, 2, 1, …
**
62. Să se afișeze al n-lea termen al șirului 1. 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6,,……
**
63. Se citesc două numere naturale, n și m, apoi două șiruri de numere întregi, primul șir
** având n elemente întregi, cel de-al doilea având m elemente întregi. Să se numere și să
se afișeze câte dintre numerele citite în cel de-al doilea șir sunt strict mai mici decât toate
numerele primului șir.
64. Se citesc mai multe șiruri de numere întregi, fiecare șir terminându-se cu valoarea 0.
*** Operația de citire se încheie la introducerea valorii 0 de două ori consecutiv. Determinați
cel mai mare număr prim din fiecare șir.
65. Pentru un număr natural nenul n, cu cel mult 5 cifre se cere să se determine în câte cifre
** de 0 se termină produsul 1∙ 2 ∙ 3 ∙ … ∙ 𝑛, fără a efectua efectiv produsul.
66. Se dau două numere naturale a și b, având maximum 9 cifre fiecare. Să se formeze cel
** mai mare număr format din cifrele comune care apar în scrierea lui a și b.
67. Fiind dat un număr natural n, de maximum 9 cifre, să se determine între oricare două
** cifre se poate plasa operatorul de înmulțire, astfel încât produsul celor două numere
obținute să fie maxim. Exemplu, pentru n=3203 se va afișa 320*3=960 care este cel mai
mare produs, comparând cu 32*3 sau cu 3*203.
68. Să se genereze toate numerele palindrom care au exact 4 cifre, în ordine strict
** crescătoare.
69. Să se genereze toate numerele palindrom care au exact 5 cifre, în ordine strict
** crescătoare.
70. Numim număr dublu palindrom o valoare de tip palindrom cu număr par de cifre în care
*** fiecare cifră e rang impar este egală cu cifra alăturată din dreapta ei. Exemplu 11111111
și 22777722 sunt numere de tip dublu palindrom, dar 12122121 este palindrom dar nu
și dublu palindrom. Să se genereze toate numerele de tip dublu palindrom scrise în
ordine strict crescătoare.
71. Se citește un număr natural având maximum 9 cifre. Să se afișeze cel mai mare număr
** obținut prin eliminarea succesivă a unei singure cifre din numărul dat. De exemplu,
pentru n=76385 se va afișa 7685, obținut din n prin eliminarea cifrei 3.
72. Fie șirul de numere 1, 12, 123, 1234, …, 12345678910, …. Considerându-se primele n
*** numere ale acestui șir, trebuie determinat numărul de numere care sunt divizibile cu 3.
Găsiți o rezolvare matematică (fără a folosi structuri repetitive) apoi implementați în
pseudocod.
73. Definim un număr ”aproape prim” un număr natural nenul, care poate fi scris ca produsul
** a două numere prime. Dându-se o secvență de n numere naturale nenule, scrieți
algoritmul care afișează pentru fiecare număr citit mesajul DA dacă acesta este ”aproape
prim” și NU în caz contrar.
74. O persoană poate urca o scară cu n trepte numerotate 1, 2, 3, …, n. Știind că la fiecare
*** pas, persoana nu poate urca decât una sau maximum două trepte, determinați în câte
moduri poate urca scara.
75. Se dă un șir de n numere naturale, având maximum 9 cifre fiecare.
*** a. Să se afișeze câte elemente din șir sunt valori pantă (numere care privite de la stânga
sau de la dreapta au cifrele în ordine crescătoare, de exemplu 136 și 931 sunt valori
pantă.
b. Să se afișeze cea mai mare și cea mai mică valoare pantă. Dacă la punctul a. sunt 0
valori pantă, atunci la b se va afișa mesajul NU EXISTĂ.
76. Se dă un număr natural n<101 și o cifră k din mulțimea {2, 3, 5, 7}. Să se afișeze
** exponentul lui k în descompunerea în factori primi a produsului 1∙ 2 ∙ 3 ∙ … ∙ 𝑛, fără a
efectua efectiv produsul
77. Se citește un număr natural S. Să se afișeze toate descompunerile lui S în sumă de
*** numere naturale consecutive. De exemplu, pentru S=15, se vor afișa succesiunile:
1+2+3+4+5, 4+5+6 și 7+8.
78. Se citește un număr natural n, apoi, pe rând, n numere naturale, distincte oricare două
** câte două. Să se afișeze poziția pe care s-ar găsi primul element din șirul de numere citite,
în cazul în care șirul ar fi ordonat crescător. Numerotarea pozițiilor elementelor în cadrul
șirului este de la 1 la n. De exemplu, dacă n=6, iar șirul citit este 267 13 45 628 7
79, se va afișa 5, deoarece primul element din șir, 267, s-ar găsi pe poziția a 5-a în șirul
ordonat crescător (7 13 45 79 267 628). Șirul NU trebuie ordonat
79. Scrieți un algoritm care descompune numărul natural n≤51 în sumă de numere naturale
*** n=n1+n2+…+nk, astfel încât produsul lor p=n1*n2*…*nk să fie maxim
80. Se consideră următorul șir de numere naturale 7, 17, 37, 47, 67, 107, 127, 137, 157,
*** 167,… Deduceți regula după care sunt generați termenii șirului și scrieți algoritmul care
citește un număr natural n și afișează primii n termeni ai șirului descris mai sus.
81. Se citesc pe rând numere naturale până la întâlnirea lui 0. Să se afișeze dimensiunea celei
** mai lungi secvențe de numere citite consecutiv, egale. Exemplu: dacă se citește șirul de
numere
1 2 2 1 1 1 3 3 3 2 2 2 2 1 1 se va afișa 4, deoarece secvența de valori egale 2 2 2 2 are
lungimea maximă, adică 4.
82. Se citește un număr natural n, apoi un șir de n numere întregi. Să se afișeze un șir de n
** numere întreg, cu proprietatea că valoarea termenului de pe poziția i (i=1, 2, 3, …, n) din
acest șir este egală cu cea mai mare dintre primele i valori dintre cele citite. De exemplu,
dacă n=12 și apoi cele 12 numere citite sunt:
4 6 3 7 8 1 6 2 7 9 10 8, se va genera următorul șir de numere:
6 6 6 7 8 8 8 8 8 9 10 10
83. O proprietate interesantă a fracțiilor ireductibile este că orice fracție se poate obține
*** după următoarele reguli:
Pe primul nivel se află fracția 1/1
Pe al doilea nivel, la stânga fracției 1/1 de pe primul nivel, plasăm fracția 1/2 iar în
dreapta ei fracția 2/1
Pe fiecare nivel k, se plasează sub fiecare fracție i/j de pe nivelul anterior, fracția i/(i+j)
în stânga, iar fracția (i+j)/j în dreapta, conform desenului alăturat:
Dându-se o fracție oarecare prin numărătorul și numitorul său, determinați numărul
nivelului pe care se află fracția, sau fracția echivalentă (având aceeași valoare) cu
aceasta.
84. Se consideră șirul de numere 1, 2, 3, 4, 7, 8, 15, 16, … în care nu există doi termeni cu
*** aceeași paritate aflați pe poziții consecutive, descris după regula:

Se citește de la tastatură un număr natural x, cu cel mult 9 cifre, termen al șirului dat, și
se cere să se scrie în ordine strict descrescătoare, separați printr-un spațiu, toți termenii
șirului care sunt mai mici sau egali cu x.
85. Se citesc pe rând numere naturale până la întâlnirea lui 0. Să se afișeze numărul maxim
*** de termeni ai unei secvențe de elemente situate pe poziții consecutive din șir, secvență
care formează o progresie aritmetică. Dacă nu există o astfel de secvență, se va afișa
mesajul NU EXISTĂ. De exemplu, dacă se citește următorul șir de valori:

, se va afișa 5, reprezentând
lungimea corespunzătoare secvenței 9 4 -1 -6 -11, care este progresie aritmetică.
86. Se citește un număr natural par n, și apoi un șir de n numere naturale, aflate în ordine
*** crescătoare. Să se afișeze cel mai mare număr din prima jumătate a șirului care să fie
strict mai mic decât oricare număr din a doua jumătate a numărului. Dacă nu se află o
astfel de valoare, se va afișa mesajul NU EXISTĂ. De exemplu: dacă n=30 și cele 30 de
numere citite sunt:
1 3 5 5 5 …… 5 7 10 (5 apare de 26 de ori) se va afișa 3, iar dacă n=6 și cele 6 numere
citite sunt: 3 3 3 9 15 se va afișa NU EXISTĂ.
87. Un număr natural cu cel puțin două cifre se numește x-ordonat, dacă toate cifrele sale
*** sunt în ordine crescătoare iar valoarea absolută a diferenței dintre oricare două cifre
aflate pe poziții consecutive este egală cu x. De exemplu, numărul 2468 este 2-ordonat,
147 este 3-ordonat, iar numerele 179 sau 131 nu sunt de tipul menționat. Se citește un
număr natural x (1≤x≤8) și se cere afișarea tuturor numerelor naturale distincte, x-
ordonate.
88. Se citesc două numere naturale n și p, iar m=2n (1≤p≤m). Se consideră șirul de numere
*** naturale 0, 1, 2, 3, …., m, m+1. În acest șir marcăm numerele 0, p și m+1 ca fiind șterse.
Scrieți algoritmul care șterge toate elementele șirului în n pași, în așa fel încât la pasul k
să se șteargă 2k-1 elemente, dintre cele neșterse la pasul respectiv. Programul va afișa
perechi de forma (k, q), unde q este unul din elementele șirului, diferit de p, iar k este
pasul la care a fost șters q.
De exemplu, pentru n=3 și p=5, se vor afișa următoarele perechi (1,1), (2,2), (2,3), (3,4),
(3,6), (3,7), (3,8) cu semnificația: la pasul k=1 s-a șters primul element neșters până în
prezent, adică 1, la pasul k=1 se șterg următoarele elemente neșterse, adică 2 și 3 iar la
pasul k=3 se șterg elementele 4, 6, 7 și 8, care nu fuseseră șterse până la momentul
respectiv.
89. Se citește un număr natural n, par, iar apoi, pe rând, n numere naturale, cu cel mult nouă
*** cifre fiecare. Să se afișeze mesajul DA, dacă există un element în șir care să fie strict mai
mare decât jumătatea dintre numerele din șir, iar dacă în șir nu se află o astfel de valoare,
se va afișa mesajul NU. De exemplu, pentru n=6 iar șirul de numere este: 8 34 34 34 5 34
se va afișa NU iar dacă n=8 iar cele 8 valori citite sunt 1 5 6 12 3 12 12 9, se va afișa DA.
90. Se citește un șir crescător de numere naturale, până la întâlnirea lui 0, care nu face parte
** din șir. Să se afișeze fiecare termen distinct al șirului urmat de numărul dea apariții ale
acestuia în șir. De exemplu, dacă șirul de numere citit este 1 1 1 5 5 5 5 9 9 11 20 20 20
0, se va afișa 1 3 5 4 9 2 11 1 20 3, deoarece 1 apare de 3 ori, 5 apare de 4 ori, etc.
91. Fie n un număr natural (1 000≤ 𝑛 ≤2 000 000 000) despre care se știe că reprezintă
*** factorialul unui număr natural k (n= 1∙ 2 ∙ 3 ∙ … ∙ 𝑘). Scrieți algoritmul care citește pe n și
determină numărul k.
92. Se citesc numere naturale până la întâlnirea lui 0. Să se afișeze ultimele două numere
** impare (nu neapărat distincte) dintre cele citite. Dacă nu există cel puțin două numere
impare, se va afișa mesajul NUMERE INSUFICIENTE. De exemplu, la citirea următorului
șir de valori: 12 15 68 13 17 90 31 42 0, se va afișa 17 31.

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