RoLLMHub/RoSchoolToUniQA huggingface dataset:
Indicați numerele pe care le pot memora variabilele întregi x și y, astfel încât valoarea expresiei C/C++ alăturate să fie 1. x/2+x%y-x/y==0
A. x=4 și y=2
B. x=6 și y=3
C. x=8 și y=4
D. x=10 și y=0
Răspuns corect: A
```c++
int f(int n) {
 if (n<=2) return n;
 if (n%2==1) return f(n-2)-f(n-1);
 return f(n-1)-f(n-2);
}
```
---
Subprogramul f este definit alăturat. Valoarea lui f (6) este:
A. 6
B. 5
C. 2
D. 1
Răspuns corect: B
Variabila x este de tip char și memorează o literă mică a alfabetului englez. Indicați expresia C/C++ care are valoare nenulă dacă și numai dacă litera memorată în variabila x este o vocală. Se consideră vocale literele a, e, i, o, u.
A. strcmp(x,"aeiou")==0
B. strchr("aeiou",x)
C. 'a' <=x && x<='u'
D. x==a || x==e || x==i || x==o || x==u
Răspuns corect: B
Utilizând metoda backtracking, se generează, în ordine strict descrescătoare, toate numerele naturale de câte patru cifre distincte din mulțimea {0, 1, 2, 3, 4, 5}. Primele șase numere generate sunt, în această ordine: 5432, 5431, 5430, 5423, 5421, 5420. Al șaptelea număr generat este:
A. 5415
B. 5413
C. 5342
D. 5340
Răspuns corect: B
Un graf neorientat are 20 de noduri și 10 muchii. Numărul maxim de componente conexe pe care le poate avea acest graf este:
A. 5
B. 10
C. 16
D. 20
Răspuns corect: C
O expresie C/C++ care are valoarea 0 este:
A. 'm'<'n'
B. 'm' =='M'
C. 'M' =='m'+'N'-'n'
D. 'N'=='M' +1
Răspuns corect: B
```c++
void f(int i, int j) {
 cout<<i<<" ";
 if(i!=j) {
  if(i<j){ i=i+j; j=i-j; i=i-j; }
  f(i-j,j);
 }
}
```
---
Subprogramul f este definit alăturat. Indicați ce se afișează în urma apelului de mai jos. f(75,30);
A. 75 30 45
B. 75 45 15
C. 75 45 15 15
D. 75 30 45 15
Răspuns corect: C
Utilizând metoda backtracking, se generează toate torturile formate din trei straturi de tipuri distincte de cremă din mulțimea {caramel, ciocolată, frișcă, nuci, vanilie). Ultimul strat este de frișcă sau de vanilie, iar aceste tipuri de cremă nu pot apărea pe primele două straturi. Două torturi cu straturi din aceleași tipuri de cremă sunt diferite dacă acestea sunt dispuse în altă ordine. Primele patru soluții generate sunt, în această ordine: (caramel, ciocolată, frișcă), (caramel, ciocolată, vanilie), (caramel, nuci, frișcă), (caramel, nuci, vanilie). A cincea soluție este:
A. (ciocolată, caramel, frișcă)
B. (ciocolată, nuci, frișcă)
C. (nuci, caramel, vanilie)
D. (nuci, ciocolată, vanilie)
Răspuns corect: A
Numărul de noduri ale unui arbore cu 4 muchii este:
A. 2
B. 3
C. 4
D. 5
Răspuns corect: D
Valorile care pot reprezenta gradele nodurilor unui graf neorientat, cu 6 noduri, sunt:
A. 1,0,0,2,2,2
B. 2,2,3,4,0,3
C. 2,2,5,5,0,1
D. 6,5,4,3,2,1
Răspuns corect: B
Un șir se obține prin interclasarea crescătoare a elementelor din tablourile unidimensionale A=(3,5,14,16,25,27) și B=(4,7,8,20,29), parcurse de la stânga la dreapta, avându-se în vedere pentru comparare câte o pereche de valori (x, y), unde x este un element din A, iar y un element din B. Indicați un element din a care apare într-o singură pereche, în vederea comparării.
A. 25
B. 16
C. 14
D. 5
Răspuns corect: B
Indicați o valoare naturală pe care o poate memora variabila x, astfel încât expresia C/C++ alăturată să aibă valoarea 1. sqrt(4+x)==2+floor(x/4.0)
A. 2
B. 4
C. 5
D. 12
Răspuns corect: C
```c++
r=0; x=2006; y=2024;
while(x<y) {
 x=x+1; y=y-1; r=..........;
}
if(x!=y)r=r-1;
```
---
În secvența C/C++ alăturată toate variabilele sunt întregi. Indicați expresia care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței obținute, variabila r să memoreze valoarea 18, reprezentând diferența 2024-2006.
A. r-2
B. r-1
C. r+1
D. r+2
Răspuns corect: D
```c++
ok=1;
cin>>x;
for(i=2;i<=10;i++) {
 cin>>y;
 if(................)
  ok=0;
 x=y;
}
```
---
În secvența C/C++ alăturată toate variabilele sunt întregi. Indicați expresia care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței obținute, variabila ok să memoreze valoarea 1, dacă șirul numerelor citite este ordonat crescător și fiecare valoare apare în acesta de două ori, sau valoarea 0 în caz contrar.
A. x!=y && i%2==0 || x>=y && i%2==1
B. x==y && i%2==0 || x<y && i%2==1
C. (x!=y || i%2==0) && (x>=y || i%2==1)
D. (x==y || i%2==0) && (x<y || i%2==1)
Răspuns corect: A
Tablourile unidimensionale a și B au elementele: A= (21,17,15,10,4) și B=(49,25,10,7,1). Indicați tabloul obținut în urma interclasării lui a și B în ordine descrescătoare.
A. (49,25,15,10,4)
B. (49,21,25,17,15,10,10,7,4,1)
C. (49,21,25,17,10,15,7,10,1,4)
D. (49,25,21,17,15,10,10,7,4,1)
Răspuns corect: D
Indicați o expresie C/C++ care are valoarea 1.
A. ceil(0.2024+1)>ceil(0.2024)+1
B. ceil(0.2024)*ceil(0.2024)>1
C. 20.24==ceil(-20.24)
D. 20.24+1<ceil(20.24)+1
Răspuns corect: D
```c++
for (d=1;d<=x;d++)
 if(x%d==0 && y%d==0)
 z=d;
```
---
În secvența alăturată toate variabilele sunt de tip întreg și memorează valori din intervalul [2,109]. Indicați valoarea memorată în variabila z în urma executării secvenței, pentru orice valoare nenulă a variabilelor x și y.
A. cel mai mic divizor comun lui x și y
B. cel mai mare divizor comun lui x și y
C. cel mai mic divizor prim comun lui x și y
D. cel mai mare divizor prim comun lui x și y
Răspuns corect: B
```c++
s=0;
for(i=1;i<=10;i++)
{ cin>>x;
 s=....................;
}
```
---
În secvența alăturată toate variabilele sunt de tip întreg. Știind că se citesc de la tastatură 10 numere din intervalul [0,105], indicați expresia care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței obținute, valoarea variabilei s să fie egală cu ultima cifră a sumei numerelor citite.
A. s+x%10
B. x%10
C. (s+x)%10
D. s%10+x%10
Răspuns corect: C
```c++
n=19;
while(n!=0) {
 cout<<n%2;
 n=........;
}
```
---
În secvența alăturată toate variabilele sunt întregi. Indicați expresia care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței obținute, să se afișeze: 11001
A. n*2
B. n/2
C. n+2
D. n-2
Răspuns corect: B
Aplicând metoda căutării binare pentru a verifica dacă în tabloul unidimensional (2011,2013,2015,2017,2019,2021,2023) există elementul cu valoarea x, aceasta a fost comparată cu trei elemente. Indicați două valori posibile ale lui x.
A. 2019,2025
B. 2017,2019
C. 2013,2017
D. 2011,2013
Răspuns corect: A
În secvențele de mai jos, toate variabilele sunt de tip întreg. Indicați secvența de instrucțiuni care interschimbă valorile memorate în variabilele întregi x și y.
A. x=x-y;
y=x+y;
x=x+y;
B. x=x-y;
y=x-y;
x=x+y;
C. y=x+y;
x=y-x;
y=y-x;
D. y=x+y;
x=x+y;
y=y-x;
Răspuns corect: C
Indicați un număr care poate fi memorat în variabila reală x, astfel încât expresia ceil(x)-x<0.2 C/C++ alăturată să aibă valoarea 1.
A. 0.4
B. 1.16
C. 1.4
D. 1.84
Răspuns corect: D
```c++
x='2';
x=x+3;
cout<<x;
```
---
Variabila x este de tip char. Indicați ce se afișează pe ecran în urma executării secvenței alăturate.
A. 5
B. 23
C. '2'3
D. "2+3"
Răspuns corect: A
Pentru a verifica dacă în tabloul unidimensional (6,7,11,15,16,25,30) există elementul cu valoarea x=11, se aplică metoda căutării binare. Indicați succesiunea de elemente ale tabloului a căror valoare se compară cu valoarea lui x pe parcursul aplicării metodei indicate.
A. 15, 16, 11
B. 15, 7, 11
C. 6, 11
D. 6, 7, 11
Răspuns corect: B
Indicați o expresie C/C++ care are valoarea 1 oricare ar fi numărul nenul memorat în variabila reală x.
A. ceil(x)*ceil(x)==x*x
B. ceil(x) <=x
C. ceil(ceil(x))==ceil(x)
D. ceil(x)==1/x
Răspuns corect: C
```c++
s=0;
for(i=x;i<=y;i++)
 s=s+i;
```
---
În secvența de instrucțiuni alăturată, toate variabilele sunt întregi și memorează numere naturale. Indicați o instrucțiune care atribuie lui s aceeași valoare ca cea obținută în urma executării secvenței alăturate, pentru orice valori nenule ale variabilelor x și y (x<y).
A. s=y*(y-1)/2-x*(x-1)/2;
B. s=y*(y-1)/2-x*(x+1)/2;
C. s=y*(y+1)/2-x*(x+1)/2;
D. s=y*(y+1)/2-x*(x-1)/2;
Răspuns corect: D