Sunteți pe pagina 1din 2

Probleme recapitulative – Algoritmi

1. Se citesc de la tastatură mai multe numere întregi până la întâlnirea valorii 0. Să se scrie un
program care afișează pe ecran primul și ultimul număr negativ din șir, pozițiile acestora,
precum și lungimea secvenței determinate de primul și ultimul număr negativ. Lungimea
secvenței este dată de numărul de termini din respective secvență. Dacă nu există cel puțin 2
numere negative se va afișa mesajul imposibil. Exemplu:20 3 -3 14 -6 5 4 -100 3 6 -5 8 9
-9 20 0, se vor afișa pe ecran valorile -3 3 -9 14 12.

2. Se citesc 2 numere naturale x și y. Scrieți un program care determină și afișează pe ecran ultima
cifră a numărului xy. Exemplu: x=2, y=10, pe ecran se va afișa valoarea 4.

3. Se citesc de la tastatură n numere naturale formate din cel mult 5 cifre. Să se scrie un program
care afișează pe ecran mesajul DA, dacă numărul citit este termen al șirului lui Fibonacci sau
mesajul NU, în caz contrar. Exemplu: n=5 și numerele 34, 7, 3, 144, 53, pe ecran se va afișa DA
NU DA DA NU.

4. Un număr natural nenul n se numește norocos dacă pătratul lui se poate scrie ca sumă de n
numere naturale consecutive. Exemplu, numărul 3 este norocos, deoarece pătratul lui , 9, se
poate scrie ca suma de 3 numere consecutive, 2+3+4. Să se scrie un program care citește de la
tastatură un număr natural n, apoi n numere naturale formate din cel mult 4 cifre și afișează pe
ecran, pentru fiecare număr citit care este norocos, mesajul DA urmat de numerele consecutive
a căror sumă formează pătratul numărului norocos. Exemplu: n=10 și numerele 3 6 2 5 144 9 34
7 8 11, pe ecran se vor afișa valorile

DA 2 3 4
DA 3 4 5 6 7
DA 5 6 7 8 9 10 11 12 13
DA 4 5 6 7 8 9 10
DA 6 7 8 9 10 11 12 13 14 15 16

5. Se citește de la tastatură un număr natural k (k<=100), apoi se citesc de la tastatură perechi de


numere x, y (x < y sau x > y) până când se citesc 2 numere egale. Determinați și afișați pe ecran,
pe câte o linie a ecranului, pentru fiecare interval [x, y], numărul de multipli ai lui k, precum și
primul și ultimul multiplu al lui k. Dacă în intervalul [x, y] nu există nici un multiplu al lui k se va
afișa mesajul NU EXISTA. Valorile determinate vor fi afișate pe ecran conform exemplului de mai
jos. Exemplu: dacă pentru k se citește valoarea 13 și apoi se citesc perechile 5 9, 10 2, 100 4, 7
25, 31 7, 9 1, 67 5, 4 4 se vor afișa valorile
Intervalul [5 9]: NU EXISTA
Intervalul [2 10]: NU EXISTA
Intervalul [4 100]:primul=13; ultimul=91; nr. multipli=7
Intervalul [7 25]:primul=13; ultimul=13; nr. multipli=1
Intervalul [7 31]:primul=13; ultimul=26; nr. multipli=2
Intervalul [1 9]: NU EXISTA
Intervalul [5 67]:primul=13; ultimul=65; nr. multipli=5
6. Scrieți un program care citește de la tastatură un număr natural n și apoi n numere naturale
nenule formate din cel mult 4 cifre. Programul afișează pe ecran, pentru fiecare număr care are
cifrele ordonate strict crescător, valoarea inițială și un nou număr format prin duplicarea fiecărei
cifre pare. Exemplu: dacă pentru n se citește valoarea 10 și apoi se citesc numerele 1234, 57, 9,
2456, 2134, 8765, 478, 5567, 8776, 321 se vor afișa pe ecran valorile
1234 122344
2456 2244566
478 44788

7. Se citește un număr natural n format din cel mult 9 cifre. Folosind algoritmul de descompunere
a unui număr natural în factori primi, determinați:
a) Numărul și suma divizorilor numărului n;(Exemplu:n=10, se vor afișa pe ecran valorile 4, 18)
b) Numărul de numere mai mici decât n, prime cu n;(Exemplu:n=10, se va afișa pe ecran 4;
sunt 4 numere prime cu 10: 1, 3, 7, 9)
c) Testul de număr prim. (Exemplu: n=10, se va afișa mesajul Nu, n=13, se va afișa mesajul Da)

8. Se citește un număr natural, n (n≥2), și se cere să se scrie numărul prim care apare la puterea
cea mai mică în descompunerea în factori primi a lui n. Dacă sunt mai multe astfel de numere, se
scrie cel mai mic dintre acestea. Scrieți, în limbajul C++, algoritmul de rezolvare a problemei
enunțate. Exemplu: dacă n=880, se scrie numărul 5 (880=2451111).

9. Un număr este aproape prim dacă se poate scrie ca produs de 2 numere prime distincte
(exemple de numere aproape prime: 10=2*5, 35=5*7, 22=2*11; numerele 8=2*4, 27=3*9, nu
sunt numere aproape prime). Se citesc de la tastatură numere naturale, formate din cel mult 6
cifre, până la întâlnirea valorii 0. Verificați, pentru fiecare număr citit, dacă este un număr
aproape prim. Se va afișa pe ecran un mesaj corespunzător, DA sau NU. Exemplu:

10. Se consideră șirul 1, 1, 2, 5, 14, 41, 122, 365, 1094 .... definit astfel: f1=f2=1, f n=3∙fn-1-1 (unde n
este un număr natural n≥3): Se citește de la tastatură un număr natural x (x≤10 9), valoare a unui
termen din şirul dat, şi se cere să se scrie pe ecran în ordine descrescătoare, separați prin câte
un spațiu, toţi termenii şirului care sunt mai mici sau egali cu x. Exemplu: dacă se citește
numărul 365 pe ecran se vor afișa numerele 365 122 41 14 5 2 1 1.