subprogramului f, ce se afişează ca urmare 6. Se consideră subprogramul alăturat: a apelului Ce valoare are f(128,2)? f(121,1);? int f(int a, int b){ void f(long n, int i) if (b<1) return 1; { if(n!=0) else if(n%3>0) if (a%b==0) { cout<<i; f(n/3,i+1); }} return 1+f(a/b,b); Rezultat 12345 else 2. Pentru definiţia de mai jos a return 0; } subprogramului f, ce se afişează ca urmare Rezultat 7 a apelului 7. Se consideră subprogramul f definit f(12345);? alăturat. Ce se va afişa în urmaapelului void f(long n) f(12345);? { cout<<n%10; void f(long int n) if(n!=0) { if (n!=0) { f(n/100); cout<<n%10;}} {if (n%2 == 0) Rezultat 5310135 cout<<n%10; 3. Pentru definiţia alăturată a f(n/10);}} subprogramului f, ce se afişează ca Rezultat 42 urmare a apelului f(26);? 8. Se consideră subprogramul f, descris void f (int x) alăturat. Ce se va afişa în urma apelului { f(3);? if(x>0) void f(int n) if(x%4==0) { if (n!=0) { cout<<’x’; { if (n%2==0) f(x1); } cout<<n<<’ ’; else f(n1); { f(x/3); cout<<n<<’ ’; } cout<<’y’; }} else cout<<endl;} Rezultat xyyy Rezultat 2 4. Pentru definiţia alăturată a 1 2 3 subprogramului f, ce se afişează ca urmare 9. Se consideră subprogramul f cu definiţia a apelului alăturată. Ce valoare are f(1213111,1)? f(15,2);? int f (long int n, int k){ void f (int n, int x) if (n!=0) { if(x>n) if(n%10==k) cout<<0; return 1+f(n/10,k); else else return 0; if(x%4<=1) f(n,x+1); else return 0;} else Rezultat 3 { f(n,x+3); 10. Se consideră subprogramul cu definiţia cout<<1;}} alăturată. Ce valoare are f(3,1)? Rezultat 01111 5. Pentru subprogramul f definit mai jos, int f(int n,int y) ce se afişează ca urmare a apelului { if(n!=0) f(3,17)? { y=y+1; void f ( int a, int b) return y+f(n1,y);} { if(a<=b) else return 0;} { f(a+1,b2); cout<<’*’;} else Rezultat 9 cout<<b;} 11. Care este valoarea expresiei f(23159) 7***** pentru funcţia f, cu definiţia alăturată? int f(int n){ int c; if (n==0) return 9; else int F(int x){ {c=f(n/10); if (x<=1) return x; if (n%10<c) return n%10; else else return c;}} return x+F(x2);} Rezultat 1 Rezultat 90 12. Pentru funcţiile f1 şi f2 definite 18. Funcţia F are definiţia alăturată. Ce alăturat, stabiliţi care este valoarea lui valoare are F(5)? f2(41382)? int F(int x) long f1(int c) { if (c%2==1) return 1; {if(x!=0) return x+F(x1); else return 2;} else long f2(long n) return x;} { if (n==0) return 0; Rezultat 15 else return f1(n%10)+f2(n/10);} 19. Se consideră subprogramul, f, definit Rezultat 8 alăturat. Ce valoare are f(100)? int f(int n) 13. Pentru funcţiile f şi g definite mai jos, { if(n==0) return 0; stabiliţi care este rezultatul returnat la apelul else return n%2+f(n/2);} f(6)? Rezultat 3 long g(long x) 20. Considerăm subprogramul recursiv { if (x>9) definit alăturat. Ce se va afişa în urma return (x/10 + x%10); apelului: f(’C’) else void f(char c) return x { if (c>’A’) f(c1); } cout<<c; long f(int c) { if (c<1) if (c>’A’) f(c1);} return 1; Rezultat ABACABA else 21. Pentru subprogramul suma definit return g(c+f(c1)); alăturat, scrieţi valoarea expresiei } suma(5,4). Rezultat 4 int suma (int a,int b) 14. Funcţia F are definiţia alăturată. Ce { if (a==0 && b==0) return 0; valoareare F(3)? else if (a==0) return 1+suma(a,b int F(int n) 1); {if(n==0 || n==1) return 1; else return 1+suma(a1,b); else } return 2*F(n1)+2*F(n2);} Rezultat 9 Rezultat 10 22. Funcţia f are definiţia alăturată. 15. Subprogramul f are definiţia alăturată. a) Ce valoarea are f(17)? (3p.) Ce se va afişa în urmaapelului f(12345)? b) Ce valoare are f(22)? void f(long n) int f(int n) {if (n>9) {if (n<=9) return 0; {cout<<n/100; if (n%4==0) return 0; f(n/10); return 1+f(n3); }} } Rezultat 1231210 Rezultat a)3 b)2 16. Funcţia f are definiţia alăturată. Ce se va 23. Funcţia f are definiţia alăturată: afişa în urma apelului f(12345,0);? a) Ce valoare are f(16)? void f(long n, int i) b) Scrieţi cea mai mare valoare de două cifre {if (i<n%10) pe care o poate avea n astfel încât f(n) să {cout<<n%10; fie egal cu 2. f(n/10,i+1); int f(int n) }} { if (n<=0) return 1; Rezultat 543 if (n%2==0) return 0; 17. Funcţia F are definiţia alăturată. Ce if (n%3==0) return 0; valoare are F(18)? return 1+f(n10);} Rezultat a)0 b)95 30. Subprogramul afis este definit alăturat. Ce se va afişa în urma apelului afis(17)? void afis(int x) { if (x>3) { cout<<x1; 24. Subprogramul afis este definit afis(x/3); alăturat. Ce se afişează ca urmare a apelului cout<<x+1; }} afis(8); Rezultat 16 4 6 18 void afis (int n) 31. Subprogramul re este definit alăturat. { cout<<n; Ce valoarea are re(1)? Dar re(14)? for (int i=n/2;i>=1;i) int re(int i) if(n%i==0)afis(i);} { Rezultatul e 84211211 if (i<9) return 3+re(i+2); 25. Subprogramul scrie este definit else alăturat. Ce se afişează ca urmare a apelului if (i==9) return 2; scrie(1,7); else return 1+re(i1);} void scrie (int x,int y) Rezultat pt re(1) e 10 {cout<<x<<y; | Rezultat pt re(14) e 3 if(x<y) {scrie(x+1,y1); 32. Se consideră definit subprogramul f . cout<<(x+y)/2;}} Scrieţi două valori naturale, x1 şi x2, Rezultat 17263544444 (x1<12 şi x2<12) pentru care 26. Subprogramul f este definit alăturat. Ce f(x1)=f(x2). valoarea are f(8,4)? int f(int i) int f (int x,int y) { { if(x<y)return 1+f(x+1,y); if (i>12) return 1; if(y<x)return 1+f(y+1,x); else return 1+f(i+2);} return 1; } Rezultat 5 Rezultat 5 33. Subprogramul scif returnează suma 27. Ce se afişează ca urmare a apelului cifrelor unui număr natural transmis ca p(123); dacă subprogramul p are definiţia parametru. alăturată. Care este valoarea expresiei void p (int x) scif(scif(518)+scif(518))? {cout<<x; Rezultat 10 if(x!=0){p(x/10); 34. Considerăm subprogramul f definit cout<<x%10; } alăturat. Ce valoare are f(11,7)? Rezultat 123 12 1 1 2 3 int f(int x,int y) 28. Subprogramul f este definit alăturat. Ce {if(x<=y) return xy; se afişează ca urmare a apelului return f(yx,x1)+3;} f(1,4); Rezultat 11 void f (int x,int y) 35. Pentru definiţia alăturată a { for (int i=x;i<=y;i++) subprogramului sc, stabiliţi ce valoare are {cout<<i;f(i+1,y);}} sc(901324)? Rezultat 123443442344344 int sc(long x) 29. Se consideră subprogramul recursiv f1 {if(x<10) return x; definit alăturat. Ce se va afişa în urma return sc(x/10)+x%10;} apelului f1(5)? Rezultat 19 void f1(int x) 36. Pentru definiţia alăturată a { if (x<=9) subprogramului f, ce valoare are f(8)? { cout<<x+1; int f(int x) f1(x+2); {if(x<=4) return x*x3; cout<<x+3; }} return f(x3)+4;} Rezultat 6 8 10 12 10 8 Rezultat 9 37. Pentru definiţia alăturată a subprogramului f, stabiliţi ce valoare are f(23461)? int f(int x) {if(x<10){if(x%2!=0)return 0; return x;} if((x%2!=0) return f(x/10); return f(x/10)+x%10; } Rezultat 12