3981 - DivImpRec

From Bitnami MediaWiki
Revision as of 19:09, 16 March 2023 by Cata (talk | contribs) (Pagină nouă: == Cerința == Scrieți funcția recursivă DivImpRec care primind ca parametru un număr natural nenul n, returnează cel mai mare divizor impar al său. == Restricții și precizări == * 1 ≤ n ≤ 2.000.000.000 * Numele funcției este DivImpRec. * Se recomandă utilizarea recursivității în rezolvarea problemei. De asemenea, se recomandă să nu se folosească alte funcții suplimentare. == Exemplu == DivImpRec(24) = 3. == Important == Soluția propusă va conține d...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerința

Scrieți funcția recursivă DivImpRec care primind ca parametru un număr natural nenul n, returnează cel mai mare divizor impar al său.

Restricții și precizări

  • 1 ≤ n ≤ 2.000.000.000
  • Numele funcției este DivImpRec.
  • Se recomandă utilizarea recursivității în rezolvarea problemei. De asemenea, se recomandă să nu se folosească alte funcții suplimentare.

Exemplu

DivImpRec(24) = 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

<syntaxhighlight lang="python"> def DivImpRec(n):

   if n % 2 == 1:
       return n
   else:
       return DivImpRec(n // 2)

</syntaxhighlight>