Sunteți pe pagina 1din 1

Nume…………………….. Clasa……………. Data……………..

Test

1. Pentru fiecare din problemele de mai jos descrie în 1-2 propoziții un algoritm care să se potrivească cererii:
(2p)
a. Fie a un vector neordonat de valori întregi. Descrie un algoritm care găsește o pereche de elemente
din vector pentru care diferența în modul e maximă. Eficiența algoritmului trebuie să fie O(n).
b. Fie a un vector ordonat de valori întregi. Descrie un algoritm care găsește o pereche de elemente din
vector pentru care diferența în modul e maximă. Eficiența algoritmului trebuie să fie O(1).

2. Calculează eficiența timpului de execuție pentru algoritmii de mai jos: (2p)

m = 1; cin >> n; s = 0; cin >> n;


for(i=1; i<=n; i++) for(i=1; i<=n; i++)
{ m = m*3; for( j=1; j<=m; j++) cout << m; } { cin >> x; while(x){ s++; x/=10;}

………………………………………………………………………………. .......................................................
// a – vector cu n elemente void perfect(int b)
void inserare (int x) { int ok=0;
{ int f,t; if(8128<=b)cout<<"8128 ",ok=1;
n++; f=n; t=f/2; if(496<=b)cout<<"496 ",ok=1;
while((t>0)&&(a[t]<x)) if(28<=b)cout<<"28 ",ok=1;
{ a[f]=a[t]; f=t; t=f/2; } if(6<=b)cout<<"6 ",ok=1;
a[f]=x; if(ok==0)cout<<"nu exista";
} }
................................................................................ ................................................................
3. Ai un portofel magic care are un număr nelimitat de bancnote de 1, 5, 10, 50, 100 și 500 lei. Scrie un program
care citind o sumă S determină numărul minim de bancnote ce pot fi folosite pentru a plăti suma respectivă.
Exemplu: pentru S=653 răspunsul e 6. Care este complexitatea algoritmului? Justifică! (2.5p)
4. Cunoști orele de sosire și de plecare a n autobuze dintr-o stație. Trebuie să calculezi numărul minim de
peroane necesare pentru transferul călătorilor. În fișierul date.in se află pe prima linie numărul natural n, iar
pe următoarele n linii câte 4 numere, separate prin câte un spațiu. Primele 2 numere semnifică ora și minutul
sosirii unui autobuz, iar următoarele 2 ora și minutul plecării autobuzului. Programul va afișa pe ecran numărul
minim de peroane. Ora e în intervalul 0-23, iar minutele în intervalul 0-59. (2p+0.5p dacă sol e
O(n))

Exemplu:

date.in Afisare Explicație


6 3 „Înghesuiala” maximă e pentru autobuzele 2, 3, 4 care vor fi simultan în stație.
9 00 9 10
9 40 12 00
9 50 11 20
11 00 11 30
15 00 19 00
18 00 20 00

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