4209 - DifParImpar

From Bitnami MediaWiki
Revision as of 17:33, 12 March 2023 by Cata (talk | contribs) (Pagină nouă: == Cerința == Scrieți funcția recursivă DifParImpar care primind ca parametru un număr natural <span style="color: red;">n</span>, returnează un număr întreg reprezentând diferența dintre numărul cifrelor pare și numărul celor impare. == Restricții și precizări == * <span style="color: red;">0 ≤ n ≤ 2.147.000.000</span> * Numele funcției este <span style="color: red;">DifParImpar</span>. * Se recomandă utilizarea recursivității în rezolvarea probleme...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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>