433
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.0000 ≤ 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