# PBinfo #2674 – IncDecRec – Rezolvare C++

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

## Enunț

Cerința
Scrieți funcția recursivă IncDecRec care primind ca parametru un număr natural n, returnează numărul obținut din n prin scăderea cu 1 a fiecărei cifre impare și creșterea cu 1 a fiecărei cifre pare.

Restricții și precizări

0 ≤ n ≤ 999.999.999
Numele funcției este IncDecRec.
Se recomandă utilizarea recursivității în rezolvarea problemei. De asemenea, se recomandă să nu se folosească alte funcții suplimentare.

Exemplu:
IncDecRec(4321) = 5230.

## Cod sursă C++

```cpp
long long int IncDecRec(long long int n) {
      if (n == 0)
            return 1;
      else {
            int rez = 0, p = 1;
            while (n > 0) {
                  int c = n % 10;
                  if (c % 2 == 0)
                        rez = rez + (c + 1) * p;
                  else 
                        rez = rez + (c - 1) * p;
                  p = p * 10;
                  n = n / 10;
            } return rez;
      }
}
```

## Resurse

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