4209 - DifParImpar
Cerința
Scrieți funcția recursivă DifParImpar care primind ca parametru un număr natural n, returnează un număr întreg reprezentând diferența dintre numărul cifrelor pare și numărul celor impare.
Restricții și precizări
- 0 ≤ n ≤ 2.147.000.000
- Numele funcției este DifParImpar.
- Se recomandă utilizarea recursivității în rezolvarea problemei. De asemenea, se recomandă să nu se folosească alte funcții suplimentare.
Exemplu
DifParImpar(240) = 3 și DifParImpar(21377) = -3.
Important
Soluția propusă va conține doar funcția cerută. Introducerea în soluție a altor instrucțiuni poate duce la erori de compilare sau de execuție, care vor duce la depunctarea soluției.
Rezolvare
Varianta 1
<syntaxhighlight lang="python"> def DifParImpar(n):
if n == 0: return 0 else: ultima_cifra = n % 10 if ultima_cifra % 2 == 0: return 1 + DifParImpar(n // 10) else: return -1 + DifParImpar(n // 10)
</syntaxhighlight>