Mergi la grila
Grila 1
Care este valoarea maximă a expresiei dacă x este un număr natural nenul de o cifră?
C/C++: x % 20 * x % 26 / 2
Pascal: x mod 20 * x mod 26 div 2
- A
12
- B
81
- C
40
- D
0
Răspuns și rezolvare
Răspuns corect: A
Operatorii au aceeași prioritate și se evaluează de la stânga la dreapta. Expresia este ((x % 20) × x % 26) / 2. Restul este cel mult 25, deci rezultatul este cel mult 12. Pentru x = 5 obținem 25 / 2 = 12.
Grila 2
Care este numărul de muchii care trebuie eliminate dintr-un graf neorientat conex cu 26 de noduri, toate având gradul 20, astfel încât să se obțină un arbore?
- A
235
- B
495
- C
494
- D
234
Răspuns și rezolvare
Răspuns corect: A
Suma gradelor este 26 × 20, iar fiecare muchie este numărată de două ori. Graful are 260 de muchii. Un arbore cu 26 de noduri are 25 de muchii, deci eliminăm 260 − 25 = 235. Conexitatea garantează existența unui arbore parțial.
Grila 3
Considerăm următoarea funcție recursivă:
C/C++:
int f(int x, int y) {
if (x == 0) return 1;
else if (x % 10 != x / y) return 0;
else return f(x % y / 10, y / 100);
}
Pascal:
function f(x, y: longint): longint;
begin
if x = 0 then f := 1
else if x mod 10 <> x div y then f := 0
else f := f(x mod y div 10, y div 100);
end;
Care este valoarea expresiei f(20262026, 10000000) + f(2026202, 1000000) + f(716617, 100000) + f(6062606, 100000) + f(0, 10)?
- A
1
- B
2
- C
3
- D
4
Răspuns și rezolvare
Răspuns corect: C
Când y are cu o cifră mai puțin decât x, x / y este prima cifră a lui x, iar x % 10 ultima. Funcția le compară, le elimină pe amândouă și împarte y la 100, deci întoarce 1 exact când x este palindrom. f(20262026, 10000000) = 0, pentru că 2 ≠ 6. 2026202 și 716617 sunt palindroame, deci întorc 1. La f(6062606, 100000), y are cu două cifre mai puțin decât x, deci x / y = 60, diferit de ultima cifră, 6: rezultatul este 0. f(0, 10) = 1. Suma este 0 + 1 + 1 + 0 + 1 = 3.
Grila 4
Considerăm tabloul unidimensional a, cu 8 elemente numere naturale sortate strict crescător, de forma a = [11, 14, 17, 23, x, 29, 45, 49], și tabloul unidimensional b, cu 7 elemente numere naturale sortate strict crescător, de forma b = [4, 8, 19, 21, y, z, 33]. Câte seturi de valori există pentru x, y și z astfel încât după aplicarea algoritmului de interclasare pentru tablourile a și b să se obțină [4, 8, 11, 14, 17, 19, 21, 23, x, y, z, 29, 33, 45, 49], de asemenea sortat strict crescător?
- A
35
- B
60
- C
10
- D
7
Răspuns și rezolvare
Răspuns corect: C
Trebuie să avem . Alegem trei valori distincte dintre 24, 25, 26, 27 și 28. Ordinea lor este impusă, deci sunt posibilități.
Grila 5
Se consideră următorii patru algoritmi (A1–A4), descriși în pseudocod, în care variabilele s, d, n și p sunt de tip întreg.
Algoritmul A1:
citește n
s ← 0
d ← 2
cât timp n ≠ 1 execută
p ← 0
dacă n mod d = 0 atunci
p ← 1
n ← n div d
dacă p = 1 atunci
s ← s + d
d ← d + 1
scrie s
Algoritmul A2:
citește n
s ← 0
d ← 2
cât timp n ≠ 1 execută
p ← 0
cât timp n mod d = 0 execută
p ← p + 1
n ← n div d
s ← s + d
d ← d + 1
scrie s
Algoritmul A3:
citește n
s ← 0
d ← 2
cât timp n ≠ 1 execută
p ← 0
cât timp n mod d = 0 execută
p ← p + 1
n ← n div d
dacă p ≠ 0 atunci
s ← s + d
d ← d + 1
scrie s
Algoritmul A4:
citește n
s ← 0
d ← 2
p ← 0
cât timp n ≠ 0 execută
cât timp n mod d = 0 execută
p ← p + 1
n ← n div d
dacă p ≠ 0 atunci
s ← s + d
d ← d + 1
scrie s
Care dintre algoritmii dați afișează în mod corect suma tuturor divizorilor primi ai unui număr natural n ≥ 2?
- A
A1
- B
A2
- C
A3
- D
A4
Răspuns și rezolvare
Răspuns corect: C
A3 elimină toate aparițiile fiecărui factor prim, dar îl adună o singură dată. A1 nu elimină puterile complete, A2 adună factorii cu multiplicitate, iar A4 nu se oprește când n devine 1.
Grila 6
Se consideră următorul algoritm în pseudocod, în care variabilele n, c și i sunt de tip întreg:
citește n
c ← 0
pentru i ← 1, n execută
dacă n mod i = 0 atunci
c ← c + 1
scrie c mod 2
Pentru câte numere întregi din intervalul [1, 2026] algoritmul va afișa valoarea 1?
- A
45
- B
44
- C
46
- D
43
Răspuns și rezolvare
Răspuns corect: A
Divizorii se grupează în perechi d și n/d. Numai pătratele perfecte au un divizor nepereche, rădăcina pătrată. Cum 45² = 2025 și 46² = 2116, există 45 de pătrate perfecte în interval.
Grila 7
Variabila s de tip segment memorează în câmpurile p și q coordonatele carteziene ale celor două extremități (x este abscisa, y este ordonata).
C/C++:
struct segment {
struct { int x; int y; } p, q;
} s;
Pascal:
type segment = record
p, q: record
x: integer;
y: integer;
end;
end;
var s: segment;
Se consideră expresiile C/C++ de mai jos (în Pascal, operatorul == este înlocuit cu =):
E1) ((s.x.q-s.x.p)*(s.x.q-s.x.p)) == 1
E2) ((s.p.x-s.q.x)*(s.q.x-s.p.x)) == -1
E3) ((s.q.y-s.p.y)*(s.q.y-s.p.y)) == 1
E4) ((s.y.q-s.y.p)*(s.y.q-s.y.p)) == 1
Știind că segmentul este paralel cu axa Ox, care expresie este adevărată dacă și numai dacă segmentul are lungimea 1? Lungimea segmentului cu extremitățile și este .
- A
E1
- B
E2
- C
E3
- D
E4
Răspuns și rezolvare
Răspuns corect: B
Pentru un segment orizontal, ordonatele coincid. E2 este echivalentă cu −(s.p.x − s.q.x)² = −1, deci diferența absciselor are modulul 1. E1 și E4 accesează câmpuri inexistente, iar E3 este falsă.
Grila 8
Folosind metoda backtracking, se generează toți vectorii de tați ai arborilor cu mulțimea nodurilor {1, 2, 3, 4} și rădăcina 1, nodurile fiind considerate în ordinea 1, 2, 3, 4 în procesul de generare. Dacă primii patru vectori generați sunt (0, 1, 1, 1), (0, 1, 1, 2), (0, 1, 1, 3), (0, 1, 2, 1), care este a noua soluție generată?
- A
(0, 1, 3, 2)
- B
(0, 1, 4, 3)
- C
(0, 3, 1, 2)
- D
(0, 3, 1, 1)
Răspuns și rezolvare
Răspuns corect: D
Continuând lexicografic și eliminând ciclurile, soluțiile 5–8 sunt (0,1,2,2), (0,1,2,3), (0,1,4,1), (0,1,4,2). Urmează (0,3,1,1).
Grila 9
Fie v un tablou unidimensional cu n elemente numere naturale, pe pozițiile 1…n. O poziție k (1 ≤ k ≤ n) este balansată dacă suma elementelor pare dinaintea poziției k este egală cu suma elementelor impare de după poziția k; dacă nu există asemenea elemente, suma este 0. Dimensiunea și elementele sunt deja citite. Care este complexitatea timp a celui mai eficient algoritm care afișează pozițiile balansate?
- A
- B
- C
- D
Răspuns și rezolvare
Răspuns corect: A
Calculăm întâi suma tuturor elementelor impare. La a doua parcurgere menținem suma numerelor pare din stânga și a celor impare din dreapta, excluzând elementul curent. Fiecare poziție cere timp constant, deci totalul este O(n). În cel mai rău caz trebuie afișate n poziții.
Grila 10
Se consideră următoarea secvență în pseudocod. i, j, s și n sunt întregi; t este un tablou de numere naturale cu n linii și n coloane, numerotate de la 1; abs(x) returnează valoarea absolută. Ce valoare se afișează?
n ← 7
pentru i ← 1, n execută
t[i, i] ← abs(n div 2 - i + 1)
pentru j ← i + 1, n execută
t[i, j] ← t[i, j - 1]
t[j, i] ← t[i, j]
s ← 0
pentru i ← 1, n execută
pentru j ← 1, n execută
dacă i = 1 sau j = 1 sau i = n sau j = n atunci
s ← s + t[i, j]
scrie s
- A
39
- B
42
- C
54
- D
67
Răspuns și rezolvare
Răspuns corect: C
Avem t[i,j] = |4 − min(i,j)|. Prima linie și prima coloană au câte șapte valori 3, cu colțul comun numărat o dată: 39. Restul ultimei linii însumează 2 + 1 + 0 + 1 + 2 + 3 = 9, iar restul ultimei coloane, fără colțurile deja numărate, însumează 6. Total: 54.
Grila 11
Fie G un graf orientat cu 10 vârfuri etichetate parc, bariera, par, re, arca, parcare, banca, arc, ar și apar. Între două vârfuri distincte x și y există un arc de la x la y dacă eticheta lui x este subcuvânt al etichetei lui y: literele apar în aceeași ordine și pe poziții consecutive. De exemplu, arc este subcuvânt în arcuit, marcat și parc, dar nu în baraca. Se consideră afirmațiile:
- Există cel puțin un vârf cu gradul interior nul și gradul exterior nenul.
- Există cel puțin un vârf cu gradul exterior nul și gradul interior nenul.
- Nu există niciun vârf izolat.
- Există cel puțin un circuit.
- Vârful arc are gradul interior 1 și gradul exterior 3.
Câte afirmații sunt adevărate?
- A
1
- B
2
- C
3
- D
4
Răspuns și rezolvare
Răspuns corect: C
Sunt adevărate 1, 2 și 5. De exemplu ar are grad interior nul și exterior nenul, iar parcare are grad exterior nul și interior nenul. banca este izolat. Arcele cresc strict lungimea cuvântului, deci nu există circuite. În arc intră ar, iar din arc pleacă arce către parc, arca și parcare.
Grila 12
Un panou electric are forma unei matrice . În fiecare celulă se află un bec și un comutator. Un bec poate fi stins (0) sau aprins (1). Apăsarea unui comutator schimbă starea tuturor becurilor vecine pe orizontală sau verticală, fără a schimba becul din aceeași celulă. De exemplu, apăsarea comutatorului din stânga-sus transformă în . Se pot efectua oricâte apăsări, inclusiv niciuna, în orice ordine. Pentru câte configurații inițiale se poate obține configurația cu toate becurile stinse?
- A
6
- B
16
- C
8
- D
4
Răspuns și rezolvare
Răspuns corect: D
Comutatoarele de pe o diagonală schimbă aceeași pereche de becuri, aflate pe cealaltă diagonală. Există doar două schimbări independente, deci 2² = 4 configurații pot ajunge la panoul stins: toate stinse, fiecare dintre cele două diagonale aprinsă, toate aprinse.
Grila 13
Variabilele i, j și k sunt întregi, iar s și t memorează șiruri de cel mult 100 de caractere. Care va fi lungimea șirului t după secvența dată?
C/C++:
strcpy(s, "decada");
strcpy(t, "");
for (i = 0; i < strlen(s); i++) {
k = s[i] - 'a';
for (j = 0; j < k; j++) strcat(t, s + i);
}
Pascal:
s := 'decada';
t := '';
for i := 1 to length(s) do
begin
k := ord(s[i]) - ord('a');
for j := 0 to k-1 do t := t + copy(s, i, 100);
end;- A
40
- B
52
- C
55
- D
73
Răspuns și rezolvare
Răspuns corect: B
Pentru literele d,e,c,a,d,a, valorile k sunt 3,4,2,0,3,0. Fiecare repetare adaugă sufixul pornind de la poziția curentă, de lungime 6,5,4,3,2,1. Lungimea este 3×6 + 4×5 + 2×4 + 0×3 + 3×2 + 0×1 = 52.
Grila 14
v este o permutare a mulțimii {1, 2, …, 10}, pe pozițiile 1…10. Se execută:
pentru i ← 1, 9 execută
dacă v[i] > v[i + 1] atunci
interschimbă v[i] și v[i + 1]
Fie x numărul de tablouri pentru care după secvență v este ordonat crescător. Care afirmație este adevărată?
- A
- B
- C
- D
Răspuns și rezolvare
Răspuns corect: C
O trecere mută maximul la final. Pentru ca restul să fie ordonat, dacă maximul este pe poziția k, sufixul de după el trebuie să fie k,k+1,…,n−1, iar prefixul trebuie sortat într-o trecere. Numărul a(n) satisface a(n)=a(0)+…+a(n−1), cu a(0)=a(1)=1. Rezultă a(n)=2^(n−1), deci x=512.
Grila 15
Considerăm funcția recursivă de mai jos. x este întreg, iar randInt(a,b) întoarce un întreg aleatoriu din [a,b].
funcție foo(x)
dacă x ≤ 1 atunci
returnează x
altfel
returnează x + foo(randInt(0, x div 2))
Pentru un întreg dat , care este intervalul de lungime minimă ce conține garantat toate valorile pe care le poate returna foo(N)?
- A
- B
- C
- D
Răspuns și rezolvare
Răspuns corect: B
Minimul este , alegând 0 la primul apel. Maximul este . Pentru anumite valori ale lui limita superioară nu este atinsă; intervalul B este varianta corectă din baremul oficial, nu formula exactă a maximului pentru orice .
Grila 1 din 15
Enunțuri și variante din subiectul oficial. Rezolvări Admitero; nu reprezintă baremul oficial.
Continuă cu grile pe subcapitole.
20 de grile gratuite pe lună, explicații și progres salvat.