# PBinfo #1485 – Jumatate1 – Rezolvare C++

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

## Enunț

Se citește un număr natural n. Acest număr se “împarte” în alte două numere x și y, astfel: x este format din cifrele din prima jumătate a lui n, y este format din cifrele din a doua jumătate a lui n. Dacă n are număr impar de cifre, cifra din mijloc va fi prima cifră a lui y. De exemplu, dacă n=88132, atunci x=88, iar y=132.

Cerința
Să se determine cel mai mare divizor comun al lui x și y.

Date de intrare
Fișierul de intrare jumatate1.in conține pe prima linie numărul n.

Date de ieșire
Fișierul de ieșire jumatate1.out va conține pe prima linie cel mai mare divizor
comun al lui x și y.

Restricții și precizări

Numărul n va avea cel mult 16 cifre.

Exemplu:
jumatate1.in

88132
jumatate1.out

44
Explicație
Numărul x este 88 iar numărul y este 132. Cel mai mare divizor comun al lor este 44.

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
ifstream in("jumatate1.in");
ofstream out("jumatate1.out");
#define cin in
#define cout out
long long int n, js = 0, jd = 0, nrcif = 0, mid;
int main() {
      cin >> n;
      long long int copie = n;
      while (copie > 0) {
            nrcif++;
            copie = copie / 10;
      } if (nrcif % 2 == 0)
            mid = nrcif / 2;
      else
            mid = nrcif / 2 + 1;
      int p = 1;
      while (mid > 0) {
            jd = jd + n % 10 * p;
            p = p * 10;
            mid--;
            n = n / 10;
      } js = n;
      while (js != 0) {
            int r = jd % js;
            jd = js;
            js = r;
      } cout << jd;
      return 0;
}
```

## Resurse

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