1862 - CntCifKRec
Cerinţa
Să se scrie o funcție Python 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.
Rezolvare
<syntaxhighlight lang="python"> def cnt_cif(n, k, c):
if n < 9: if n >= k: c[0] += 1 else: cnt_cif(n // 10, k, c) if n % 10 >= k: c[0] += 1
</syntaxhighlight>