3981 - DivImpRec
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>