# PBinfo #442 – jumatate – Rezolvare C++

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

## Enunț

Cerinţa
Se citește un număr natural n. Acest număr se “împarte” în alte două numere a și b, astfel: a este format din cifrele din prima jumătate a lui n, b este format din cifrele din a doua jumătate a lui n. Dacă n are număr impar de cifre, cifra din mijloc se ignoră. De exemplu, dacă n=9183792, atunci a=918, iar b=792. Să se determine valoarea absolută a diferenței dintre a și b.

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieşire
Programul afișează pe ecran numărul X, reprezentând valoarea cerută.

Restricţii şi precizări

1 ≤ n ≤ 1.000.000.000

Exemplu:
Intrare

9183792
Ieșire

126

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int main() {
    int n, a, b, var = 1;
    cin >> n;
    int temp = n, nrcif = 0;
    while (temp != 0) {
        nrcif++;
        temp = temp / 10;
    } if (nrcif % 2 == 0) {
        while (nrcif / 2 > 0) {
            var = var * 10;
            nrcif = nrcif - 2;
        } a = n % var;
        b = n / var;
    } else if (nrcif % 2 == 1) {
            while (nrcif / 2 > 0) {
                var = var * 10;
                nrcif = nrcif - 2;
            } a = n % var;
            b = n / var / 10;
    } if (a > b) cout << a - b;
    else cout << b - a;
    return 0;
}
```

## Resurse

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