Se consideră subprogramele f1
şi f2
, definite mai jos.
int f1 (int x, int y) { return x*y; } int f2 (int x, int y) { if (y==1) return x; else return x*f2(x, y-1); }
La apel, pentru parametrii x=2
şi y=3
, returnează x
y
:
Varianta 1 |
atât |
Varianta 2 |
numai |
Varianta 3 |
numai |
Varianta 4 |
nici |
Subprogramul suma
este definit mai jos.
int suma (int a,int b) { if (a==0 && b==0) return 0; else if (a==0) return 1+suma(a,b-1); else return 1+suma(a-1,b); }
Ce valoare are suma(5,4)
?
Subprogramul f
este definit mai jos.
int f(int n) { if (n==0) return 0; if(n%2==1)return n-f(n-1); return f(n-1)-n; }
Ce valoarea are f(4)
? Dar f(9)
?
Scrieți cele două valori în ordine, separate prin exact un spațiu!
Subprogramul f
este definit mai jos.
int f (int x) { if (x%2==0) return x; return f(x/2); }
Scrieți ce se afișează în urma executării instrucțiunii:
cout<<f(10)<<' '<<f(11);
Se consideră subprogramul f
, definit mai jos.
int f(int x) { if(x<=0) return 0; return x+f(x-5); }
Care este rezultatul apelului f(20)
?
Subprogramul f
este definit mai jos.
int f(int n) {if (n<=9) return 0; if (n%4==0) return 0; return 1+f(n-3); }
Ce valoarea are f(17)? Dar f(22)?
Scrieți cele două valori în ordine, separate prin exact un spațiu!
Subprogramul f
este definit mai jos.
int f(unsigned int n) { if (n==0) return 0; else if(n%2==0) return n%10+f(n/10); else return f(n/10); }
Pentru ce valori ale lui n
aparţinând intervalului [10, 20]
se obţine la apel f(n)= 0
?
Scrieți valorile în ordine crescătoare, separate prin exact un spațiu!
Subprogramul f
este definit mai jos.
int f(int n) { if (n!=0) return (n%2)*(n%10)+f(n/10); return 0; }
Valoarea lui f(1234)
este:
Varianta 1 |
0 |
Varianta 2 |
4 |
Varianta 3 |
6 |
Varianta 4 |
10 |
Se consideră subprogramul C/C++ f
, definit mai jos.
int f(int x, int y) { if(x*2>y) return x; return f(x*2,y); }
Scrieți valoarea lui f(2,20)
.
Subprogramul f
este definit mai jos.
int f(int n) { if (n<=0) return -1; if (n%2==0) return 0; if (n%3==0) return 0; return 1+f(n-10); }
Ce valoarea are f(47)?