# PBinfo #3567 – cod24 – Rezolvare C++

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

## Enunț

Cerința
Moș Crăciun are un seif în care ține miliardele de cadouri pregătite pentru copiii din lumea întreagă. Pentru a deschide seiful el trebuie să tasteze codul secret pe care doar el îl știe. Pentru o mai mare siguranță el schimbă codul în fiecare an. Codul este format din exact 4 cifre. Pentru a crea codul nou el crește cu 1 fiecare cifră din codul vechi și schimbă ultimele două cifre între ele. Dacă una dintre cifre este 9 și trebuie incrementată ea nu se modifică.

Date de intrare
Fișierul de intrare cod24.in conține pe prima linie numărul n, reprezentând codul de anul trecut.

Date de ieșire
Fișierul de ieșire cod24.out va conține pe prima linie codul de anul acesta.

Restricții și precizări

1000 ≤ n ≤9999

Exemplu:
cod24.in

9214
cod24.out

9352
Explicație
Numărul are 4 cifre, unde doar la ultimele 3 cifre adunăm cu unu deoarece primul este 9 și obținem numărul 9325. După asta schimbăm ultimele 2 cifre și obținem numărul final pe care trebuie sa il afișăm 9352.

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
ifstream in("cod24.in");
ofstream out("cod24.out");
#define cin in
#define cout out
long long int n, rez = 0;
int main() {
      cin >> n;
      int p = 1;
      int cif1 = n % 10;
      int cif2 = n / 10 % 10;
      int cif = n / 100 % 100;
      int n = cif * 100 + cif1 * 10 + cif2;
      while (n > 0) {
            int cif = n % 10;
            if (cif == 9)
                  rez = rez + cif * p;
            else if (cif < 9) {
                  cif++;
                  rez = rez + cif * p;
            }
            p = p * 10;
            n = n / 10;
      } cout << rez;
      return 0;
}
```

## Resurse

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