--------------------------------------------------------------------------
Subprogramul f este definit alăturat. Indicați un apel în urma căruia se afișează pe ecran secvența: 
13579

void f(int x, int y, int z){
   if(z<x){
      cout<<y;
      f(x,y+2,z+1); 
   } 
}
--------------------------------------------------------------------------
a) f(5,0,0); => 0<5	se afișează 0, cu apelul următor:
   f(5,2,1); 
   Întrucât prima cifră afișată este 0, acest posibil răspuns iese din discuție.
b) f(5,1,1); => 1<5	se afișează 1, cu apelul următor:
   f(5,3,2); => 2<5	se afișează 3, cu apelul următor:
   f(5,5,3); => 3<5	se afișează 5, cu apelul următor:
   f(5,7,4); => 4<5	se afișează 7, cu apelul următor:
   f(5,9,5); => 5<5 (fals, deci nu se mai afișează nimic), prin urmare și acest posibil răspuns iese din discuție.
c) f(6,1,6); => 6<6 (fals, deci nu se afișează nimic), prin urmare și acest posibil răspuns iese din discuție.
d) f(6,1,1); => 1<6	se afișează 1, cu apelul următor:
   f(6,3,2); => 2<6	se afișează 3, cu apelul următor:
   f(6,5,3); => 3<6	se afișează 5, cu apelul următor:
   f(6,7,4); => 4<6	se afișează 7, cu apelul următor:
   f(6,9,5); => 5<6	se afișează 9, cu apelul următor:
   f(6,11,6); => 6<6 (fals, deci nu se mai afișează nimic), prin urmare, analizând ce s-a afișat, acesta este răspunsul corect. (*)
--------------------------------------------------------------------------
Răspuns corect: d)

