PBINFO 3981
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.
Răspunsuri la întrebare
Răspuns de
16
Răspuns:
int DivImpRec(int n)
{
if(n%2!=0) return n;
return DivImpRec(n/2);
}
Explicație:
Imparte un numar la 2 pana cand devine impar:
-par:12/2=6/2=3
-impar:13(ramane asa, fiind cmmdc al lui)
printess199:
Multumesc!
Alte întrebări interesante
Istorie,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Biologie,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă