Sunteți pe pagina 1din 2

Nr.1.

1. Sa se calculeze f(4). 3. Ce va afisa la apelul f(34152). 5. Ce se va afisa la apelul f(6).


int f(int n){ void f(long n){ void f(int x){
if(n==0 || n==1) return 2; if(n!=0){ cout<<x;
else return 2*f(n-1)+f(n-2); if((n/10)%10>3) cout<<n%10; if(x>=3) f(x-2);
f(n/10);} cout<<x-1;}
else cout<<”*”;}
2. Sa se calculeze f2(6). 4. Ce se va afisa la apelul f(1,5). 6. Ce va afisa la apelul f(5).
int f1(int x){ void f(int a, int b){ void f(int x){
if(x%2==0) return f1(x/2); if(a<=b){ if(x!=0){
else return x; } if(a%2==0) cout<<b-a<<" "; if(x%2==0){ cout<<x;
int f2(int n){ f(a+1,b-1); f(x/2);}
if(n<1) return 2; if(b%2!=0) cout<<a+b<<" ";} else { f(x-1);
else return f1(n*f2(n-1));} cout<<b/a<<” “;} cout<<x;}}
7. Scrieţi definiţia completă a subprogramului nr_prim care are ca parametru un număr natural x şi returnează cel mai mic număr prim, strict mai mare decât
x. Exemplu: pentru x=25 subprogramul returnează numărul 29, iar pentru x=17 valoarea returnată va fi 19.

8. Scrieţi definiţia completă a subprogramului count care are doi parametri, a şi n, prin care primeşte un tablou unidimensional cu maximum 100 de numere
reale şi respectiv numărul efectiv de elemente din tablou. Subprogramul returnează numărul de elemente din tabloul a care sunt mai mari sau cel puţin egale
cu media aritmetică a tuturor elementelor din tablou. Exemplu: dacă tabloul are 6 elemente şi este de forma (12, 7.5, 6.5, 3, 8.5, 7.5), subprogramul va
returna valoarea 4 (deoarece media tuturor elementelor este 7.5 şi numerele subliniate sunt cel puţin egale cu această medie).

9. Subprogramul produs are doi parametri: a, prin care primește un număr natural nenul de maxim 6 cifre și k, prin care furnizează cea mai mare valoare
naturală impară cu proprietatea că produsul tuturor numerelor impare din intervalul [1,k] este mai mic sau egal cu a.
Scrieți definiția completă a subprogramului. Exemplu: dacă a=200, atunci k=7 (1×3×5×7≤200<1×3×5×7×9).

Nr.2.
1. Sa se calculeze f(4). 3. Ce va afisa la apelul f(31425). 5. Ce se va afisa la apelul f(7).
int f(int n){ void f(long n){ void f(int x){
if(n==0 || n==1) return 2; if(n>9){ cout<<x;
else return 3*f(n-1)-f(n-2); if((n/10)%10<3) cout<<n%10; if(x>=3) f(x-3);
f(n/10);} cout<<x-1;}
else cout<<”#”;}
2. Sa se calculeze f2(6). 4. Ce se va afisa la apelul f(2,6). 6. Ce va afisa la apelul f(7).
int f1(int x){ void f(int a, int b){ void f(int x){
if(x%2==0) return f1(x/2); if(a<=b){ if(x!=0){
else return x; } if(a%2!=0) cout<<b-a<<" "; if(x%2==0){ cout<<x;
int f2(int n){ f(a+1,b-1); f(x/2);}
if(n<1) return 2; if(b%2==0)cout<<a+b<<" ";} else { f(x-1);
else return f1(n+f2(n-1));} cout<<b/a<<” “;} cout<<x;}}
7. Scrieţi definiţia completă a subprogramului nr_prim care are ca parametru un număr natural x şi returnează cel mai mare număr prim, strict mai mic decât
x. Exemplu: pentru x=25 subprogramul returnează numărul 23, iar pentru x=17 valoarea returnată va fi 13.

8. Scrieţi definiţia completă a subprogramului count care are doi parametri, a şi n, prin care primeşte un tablou unidimensional cu maximum 100 de numere
reale şi respectiv numărul efectiv de elemente din tablou. Subprogramul returnează numărul de elemente din tabloul a care sunt mai mici sau cel puţin egale
cu media aritmetică a tuturor elementelor din tablou. Exemplu: dacă tabloul are 6 elemente şi este de forma (12, 7.5, 6.5, 3, 8.5, 7.5), subprogramul va returna
valoarea 3 (deoarece media tuturor elementelor este 7.5 şi numerele subliniate sunt cel mult egale cu această medie).

9. Subprogramul produs are doi parametri: a, prin care primește un număr natural nenul de maxim 6 cifre și k, prin care furnizează cea mai mare valoare
naturală impară cu proprietatea că produsul tuturor numerelor impare din intervalul [1,k] este mai mic sau egal cu a.
Scrieți definiția completă a subprogramului. Exemplu: dacă a=200, atunci k=7 (1×3×5×7≤200<1×3×5×7×9).

S-ar putea să vă placă și