# PBinfo #2830 – DivImpar – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

Cerința
Subprogramul DivImpar are doi parametri, a și b, prin care primește două numere naturale din intervalul [1,105]. Subprogramul returnează cel mai mare divizor comun impar al numerelor a și b.

Scrieți definiția completă a subprogramului.

Exemplu
Dacă a=30 și b=60, subprogramul returnează valoarea 15.

Important
Soluția propusă va conține definiția subprogramului cerut. Prezența în soluție a altor instrucțiuni poate duce erori de compilare sau de execuție care vor avea ca efect depunctarea soluției.

## Cod sursă C++

```cpp
int DivImpar(int a, int b) {
    while (b) {
        int r = a % b;
        a = b;
        b = r;
    } while (a % 2 == 0)
        a = a / 2;
    return a;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/2830)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/2830/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-2830/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
