# PBinfo #3104 – B_Egal – Rezolvare C++

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

## Enunț

Cerința
Subprogramul Egal are un parametru, n, prin care primește un număr natural cu cel puțin o cifră impară. Subprogramul returnează valoarea 1 dacă toate cifrele impare ale lui n sunt egale între ele sau valoarea 0 în caz contrar.

Scrieți definiția completă a subprogramului.

Restricții și precizări

10 ≤ n ≤ 109

Exemplu:
Dacă n=7727470 sau n=7240 atunci subprogramul returnează 1, iar dacă n=7921470 atunci subprogramul returnează 0.

Important
Soluția propusă va conține definiția funcției cerute. 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
bool Egal(int n) {
    int cif = 0;
    while (n > 0) {
        if (n % 10 % 2 == 1) {
            cif = n % 10;
            break;
        } n = n / 10;
    }
    while (n > 0) {
        if (n % 10 % 2 == 1 && n % 10 != cif) 
            return 0;
        n = n / 10;
    } return 1;
}
```

## Resurse

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