Recursivitate

Recursivitate

11th Grade

9 Qs

quiz-placeholder

Similar activities

Recursion in Java

Recursion in Java

9th - 12th Grade

10 Qs

Java Recursion

Java Recursion

9th - 12th Grade

10 Qs

Loops

Loops

9th - 12th Grade

10 Qs

Svašta nešto - laganica :)

Svašta nešto - laganica :)

11th Grade

14 Qs

C++ Coding Problems

C++ Coding Problems

4th Grade - Professional Development

10 Qs

Recursivitate 2

Recursivitate 2

1st - 12th Grade

9 Qs

C++ Recursion

C++ Recursion

8th - 12th Grade

12 Qs

Operators in C

Operators in C

9th - 12th Grade

10 Qs

Recursivitate

Recursivitate

Assessment

Quiz

Computers

11th Grade

Hard

Created by

Laurentiu Lambrinoc

Used 1+ times

FREE Resource

9 questions

Show all answers

1.

MULTIPLE CHOICE QUESTION

5 mins • 1 pt

Subprogramele f1, f2 și f3 sunt definite mai jos.

int f1(int n) { return n*(n+1)/2; }

int f2(int n) { if(n!=0) return n+f2(n-1); return 0; }

int f3(int n) { if(n==0) return 0; if(n%2==1) return n+f3(n-1); return n*n/4+2*f3(n/2); }

Pentru n=24, se obține aceeași valoare la apelul subprogramelor:

f1 și f2

f1 și f3

f2 și f3

a.       f1, f2 și f3

2.

MULTIPLE CHOICE QUESTION

2 mins • 1 pt

 Subprogramul f este definit alăturat. Indicați valoarea f(3,2).

int f(int x, int y) { int z; if (y==0) return 1; z=f(x,y/2); if (y%2!=0) return z*z*x; return z*z; }

1

2

9

18

3.

MULTIPLE CHOICE QUESTION

2 mins • 1 pt

Subprogramul f este definit alăturat. Indicați valoarea lui f(2023).

int f(int n) { if(n==0) return 0; if(n%10==2) return f(n/10)*10+3; return f(n/10)*10+2; }

3232

2303

3332

5355

4.

MULTIPLE CHOICE QUESTION

2 mins • 1 pt

Subprogramul f este definit alăturat. Indicați valoarea f(35,3).

 int f(int n,int k) { if(n==0 || k==0) return 0; return n%k+10*f(n/k,k); }

33

355

102

1022

5.

MULTIPLE CHOICE QUESTION

3 mins • 1 pt

Subprogramul f este definit alăturat. Indicați un apel în urma căruia în șirul afișat există două valori egale cu 23.

void f(int m, int n) { cout<<(m+n)/2><<' '; if(m<=n) f(m+1,n-2); }

f(20,23);

f(20,26);

f(21,25);

f(21,27);

6.

MULTIPLE CHOICE QUESTION

2 mins • 1 pt

Subprogramul f este definit alăturat. Indicați valoarea parametrului x pentru care f(x,3) are valoarea 2022. int f(int n,int p) { if(n==0) return 0; else if(p==0) return n*10+2; else return f(n/10,p-1); }

120234

122023

220223

202345

7.

MULTIPLE CHOICE QUESTION

3 mins • 1 pt

Subprogramul f este definit alăturat.

int f(int st,int dr,int v[]) { if(st==dr) if(v[st]==st)return 1; else return 0; else return f(st,(st+dr)/2,v) + f(1+(st+dr)/2,dr,v); }

Știind că variabila x memorează un tablou unidimensional cu elementele (7,1,2,5,4), în această ordine, numerotate de la 0 la 4, indicați valoarea f(0,4,x).

2

3

4

5

8.

MULTIPLE CHOICE QUESTION

1 min • 1 pt

Subprogramul f este definit alăturat, parțial. Indicați o expresie care poate înlocui punctele de suspensie astfel încât, f(2021, 1880) să aibă valoarea celui mai mare divizor comun al numerelor 2021 și 1880.

int f (int x, int y) { if(y==0) return x; else return.............; }

f(x,y%x);

f(y,x%y);

f(x%y,y);

f(y%x,x)

9.

MULTIPLE CHOICE QUESTION

2 mins • 1 pt

Subprogramul afis este definit alăturat. Indicați ce se afișează în urma apelului de mai jos. afis(12345);

void afis (int a) { cout<<”+”; if(a>0) { afis(a/1000); cout<<a;} cout<<”+”;}

+12345+123+1+

+1+123+12345+

++++12+12345+

++++112312345