1. Se consideră subprogramul cu definiţia 11. Să se realizeze un subprogram recursiv care să
alăturată. Ce valoare se va afişa în urma calculeze suma divizorilor dintr-un număr dat n. executării instrucţiuni de mai jos? cout<<f(12); | 12. Să se realizeze un subprogram recursiv care să int f (int n){ calculeze produsul divizorilor pari dintr-un număr dat int c; n. if (n!=0) {if (n%2==1) 13. Să se realizeze un subprogram recursiv care să c=1+f(n/2); calculeze suma divizorilor impari dintr-un număr dat else c=f(n/2); n. cout<<n%2; return c;} 14. Se consideră subprogramul f, definit else return 0;} alăturat. Ce valoare are f(3713)? a. 11002 b. 20011 c. 10102 d. 00112 int f(int n){ if(n==0) 2. Se consideră subprogramul cu definiţia return 0; alăturată. Ce valoare se va afişa în urma return f(n/10)*10+1;} executării instrucţiunii de mai jos? cout<<f(8); | 15. Se consideră subprogramul f, definit int f (int n){ alăturat. Ce valoare are f(8261)? int c; int f(int a) if (n!=0) {if(a<10) {if (n%2==0) return 7; c=1+f(n/2); return f(a/100)*10+8;} else c=f(n/2); cout<<n%2; 16. Se consideră funcţia Suma, definită return c;} alăturat. Ce valoare are Suma(8)? else return 0;} Dar Suma(11)? a. 10003 b. 30001 c. 10013 d. 00112 int Suma(int x) {if(x == 1 ) return 0; 3. Pentru definiţia alăturată a subprogramului f, if(x%2==0) return Suma(x-1)+(x-1)*x; ce valoare are f(8)? return Suma(x-1)-(x-1)*x; } int f(int x) {if(x<=4) return x*x-3; 17. Considerăm subprogramul f definit alăturat. return f(x-3)+4;} Ce valoare are f(11,7)? int f(int x,int y) 4. Subprogramul f are definiţia alăturată. Ce {if(x<=y) return x-y; valoare are f(5,10)? return f(y-x,x-1)+3;} int f(int x,int y) {if(x==y)return x; 18. Pentru subprogramul suma else if(x<y)return f(x+1,y-1); definit alăturat scrieţi valoarea else return f(x-1,y);} expresiei suma(3,2). int suma (int a,int b) 5.Să se realizeze un subprogram recursiv care să { if ((a==0) && (b==0)) return 0; calculeze de câte ori apare o cifră dată c,într-un if (a==0) {cout<< a<<b<<endl;return 1+suma(a,b-1);} număr dat n. return 1+suma(a-1,b);
6. Să se realizeze un subprogram recursiv care să 19. Se consideră subprogramul cu definiţia
calculeze de suma cifrelor pare dintr-un număr dat n. alăturată. Ce valoare are f(3,1)? int f(int n,int y) 7. Să se realizeze un subprogram recursiv care să { if(n!=0) calculeze produsul cifrelor impare dintr-un număr dat { y=y+1; n. return y+f(n-1,y); 8. Să se realizeze un subprogram recursiv care să } calculeze numărul cifrelor pare într-un număr dat n. else return 0;}
9.Realizaţi programul în c++ folosind o funcţie
recursivă pentru rezolvarea cmmdc-ului dintre două numere întregi fără semn.
10.Să se realizeze un subprogram recursiv care să
calculeze numărul divizorilor dintr-un număr dat n.