Sunteți pe pagina 1din 2

clasa a-X a Divide et Impera – fisa 2 1

1. Scrieţi un program care, folosind un algoritm DEI, determină cel mai mare divizor comun a n numere
naturale citite de la tastatură.
2. Se consideră un şir de n numere întregi, ordonat crescător şi un număr întreg x. Să se partiţioneze
şirul dat în două subşiruri, astfel încât toate elementele primului subşir să fie mai mici decât x, iar toate
elementele celui de-al doilea subşir să fie mai mari decât x. Se va folosi un algoritm DEI.
3. Fie v un vector de n elemente numere întregi distincte şi ordonate crescător. Să se determine, dacă
există, un indice p cu proprietatea că v[p]=p. Se va folosi un algoritm DEI.
4. Fie v un vector cu n elemente numere întregi. Să se găsească elementul aflat pe o poziţie dată k în
şirul ordonat crescător, fără a efectua ordonarea. Se va folosi un algoritm DEI.
5. Se dă un număr natural x. Să se scrie un algoritm DEI care calculează partea întreagă din radicalul lui
x. Nu se va folosi funcţia sqrt.
6. Se dă o mulţime P de n puncte în plan, prin coordonatele lor carteziene x şi y, numere întregi. Folosind
un algoritm DEI, să se găsească cele mai apropiate două puncte.
7. Folosind un algoritm DEI, să se descompună în toate modurile posibile un număr natural n ca sumă de
p numere naturale.
8. Să se scrie un algoritm DEI care să calculeze valoarea unui polinom de grad n într-un punct x dat.
9. Se dă un şir de caractere şi se cere inversarea lui folosind un algoritm DEI.
10. Se citesc n cuvinte de lungimi diferite. Să se determine cel mai mic cuvânt, în sens lexicografic, aflat în
şirul de cuvinte dat.
11. Scrieţi un program pentru a verifica dacă un cuvânt citit de tastatură este palindrom.
12. Fie v un tablou ce conţine n numere reale. Să se determine numărul valorilor negative aflate pe poziţii
impare în v.
13. Se citeşte un număr natural n. Să se calculeze partea întreagă a radicalului de ordin 3 din n fără a
folosi funcţii de rotunjire.
14. Să se verifice dacă toate elementele unui vector, numere naturale, sunt numere prime.
15. Să se verifice dacă toate elementele unui vector, numere naturale, sunt numere strict negative.
16. Se consideră o matrice a cu n linii şi n coloane (n≤20), care conţine numere întregi. Să se scrie un
program prin care să se interschimbe elementele primei linii cu elementele primei coloane din matrice,
prin simetrie faţă de diagonala principală. Să se afişeze matricea obţinută.
17. Se consideră o matrice a cu n linii şi n coloane (n≤20), care conţine numere întregi. Să se scrie un
program prin care să se realizeze permutarea coloanelor matricii a astfel încât elementele liniei k dată
să fie ordonate crescător. Să se afişeze matricea obţinută.
18. Se consideră o matrice a cu n linii şi n coloane (n≤20), care conţine numere întregi. Să se scrie un
program prin care, folosind operaţii de permutare linii şi coloane, elementele de pe diagonala principală
să fie ordonate crescător. Să se afişeze matricea obţinută.
19. Se consideră o matrice a cu n linii şi n coloane (n≤20), care conţine numere întregi. Să se interschimbe
elementele diagonalei principale cu elementele diagonalei secundare. Să se afişeze matricea obţinută.
20. Se dau două numere naturale a şi b reprezentând dimensiunile unui dreptunghi şi satisfăcând
condiţiile: b-a<a<b. Acest dreptunghi poate fi descompus în două pătrate de dimensiuni a şi b-a şi un
dreptunghi de dimensiuni b-a şi 2a-b. Procesul de descompunere se continuă în mod analog pentru
dreptunghiurile rezultate atât timp cât este posibil. Precizaţi dimensiunile figurilor rezultate în ordinea în
care apar. La fiecare pas se va afişa dimensiunea dreptunghiului obţinut şi cea a celor trei figuri
obţinute.
a b-a

b-a
P2
a P1

2b-a
b

21. Se consideră un pătrat format din 2nx2n pătrăţele unitare (n<7). Fiecare pătrăţel trebuie codificat printr-
un şir de n cifre din mulţimea {1, 2, 3, 4} astfel:
clasa a-X a Divide et Impera – fisa 2 2

- toate codurile din pătratul stânga sus, pătrat cu latura egală cu jumătate din latura pătratului mare, au
prima cifră a codului egală cu 1; codurile din pătratul aflat în dreapta sus au prima cifră a codului egală
cu 2; cele din pătratul aflat în dreapta jos au prima cifră a codului egală cu 3; cele din pătratul aflat în
stânga jos au prima cifră a codului egală cu 4
- orice pătrat din cele 4 definite anterior poate fi împărţit în 4 subpătrate, a doua cifră a codului fixându-
se 1, 2, 3, sau 4, după cum subpătratul este situat în stânga sus, dreapta sus, dreapta jos sau
respectiv stânga jos a pătratului considerat
- operaţiunea de divizare a subpătratelor în alte subpătrate se încheie când s-a ajuns la un subpătrat
unitar
Realizaţi programul care generează codurile corespunzătoare pentru n dat.
Ex. n=3
111 112 121 122 211 212 221 222
114 113 124 123 214 213 224 223
141 142 131 132 241 242 231 232
144 143 134 133 244 243 234 233
411 412 421 422 311 312 321 322
414 413 424 423 314 313 324 323
441 442 431 432 341 342 331 332
444 443 434 433 344 343 334 333

22. Se consideră în şir cu n elemente, iniţial toate egale cu n. Se împarte şirul pe jumătate, elementele din
jumătatea stângă incrementându-se, iar cele din jumătatea dreată decrementându-se cu câte o unitate.
Dacă există un element “nepereche” exact în mijloc, acesta rămâne neschimbat. Celor două jumătăţi li
se aplică acelaşi “tratament” etc, până când se obţin secvenţe de câte un element. Scrieţi un program
care pentru n dat (n<10000) generează şirul după regula de mai sus.
23. Se consideră un tablou unidimensional a, de n numere naturale. Se defineşte “plierea şirului de
numere” prin suprapunerea unei jumătăţi , numită donatoare, peste cealaltă, numită receptoare. Dacă
numărul elementelor este impar, numărul din mijloc se elimină. Din pliere rezultă un subşir ale cărui
valori vor avea numerotarea corespunzătoare jumătăţii receptoare. De exemplu, a=(1,2,3,4,5) se poate
plia (1,2) peste (4,5) sau (4,5) peste (1,2). Oricum, 3 se elimină. Plierea se aplică în continuare până se
obţine un şir de un element, numit element final.Fiind dat un indice k, cu 1<=k<n, să se precizeze dacă
elementul de pe acest loc poate fi element final.
24. Fie n cărţi de matematică, fizică, romănă şi informatică (simbolizate prin M,F,R şi I) aşezate pe un raft
A într-o ordine oarecare. Având la dispoziţie rafturile B şi X să se transfere cărţile pe rafturile
RF(fizică), RMI(matematică+informatică) şi RR(română) după următoarele reguli :
- pe rafturile A şi B se pot pune sau lua oricâte cărţi dorim
- pe raftul X se poate pune sau lua o singură carte
- tipul cărţii se poate citi numai în B şi numai când este o singură carte
- la orice mutare avem acces la o singură carte şi anume numai la cea din vârf
- în final cărţile pe RF, RMI, RR trebuie să fie în aceeaşi ordine în care erau pe A
Să se transfere cărţile fără să se facă deosebire între cărţile de matematică şi informatică.
25. Se consideră un text de maxim 255 de caractere care conţine litere mari, spaţii, semnele +,-,*,/ şi
parantezele (,). Să se identifice secvenţa de text de lungime maximă care reprezintă o expresie corectă
dpdv sintactic. Operanzii sunt exprimaţi printr-o singură literă.
Ex. (A*(C+D)/E+C)++D-(E/F+C)-E/D+F+/M -> D-(E/F+C)-E/D+F

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