341
Cerinţa
Să se scrie o funcție C++ recursivă cu trei parametri n
, k
, c
și întoarce prin parametrul c
numărul de cifre ale lui n
care sunt mai mari sau egale decât k
.
Restricţii şi precizări
- numele funcției va fi
cnt_cif
- funcția va avea trei parametri:
n
,k
,c
, cu semnificația de mai sus 0 ≤ n ≤ 2.000.000.000
0 ≤ k ≤ 9
Exemplu
După apelul cnt_cif(2750, 4, c)
, valoarea lui c
va fi 2
.
Important
Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
int cnt = 0; void cnt_cif(int n, int k, int& c){ if(n == 0 && cnt == 0 && k == 0) c = 1; else if(n == 0) c = 0; else{ cnt++; if(n % 10 >= k) cnt_cif(n/10, k, c), c++; else cnt_cif(n/10, k, c); } }
Comentarii