# PBinfo #4553 – Alipite – Rezolvare C++

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

## Enunț

Un număr se numește “alipit” dacă se obține prin lipirea a două sau mai multe numere identice. Exemplu: 121212 sau 111.

Cerința
Se dau n numere naturale cu cel mult 12 cifre fiecare. Calculați suma celor care sunt alipite.

Date de intrare
Programul citește de la tastatură numărul n, apoi n numere naturale.

Date de ieșire
Programul va afișa pe ecra suma numerelor care sunt alipite.

Restricții și precizări

1 ≤ n ≤ 100
numerele citite au cel mult 12 cifre fiecare
numerele formate dintr-o singură cifră NU sunt alipite

Exemplu:
Intrare

5
1212 12012 444 208 1001
Ieșire

1656
Explicație
Numerele alipite sunt  1212 și 444, iar suma lor este 1656

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int main()
{
    int n;
    long long s=0;
    cin>>n;
    for(int k=1;k<=n;k++)
    {
        long long a,x;
        cin>>a;
        int nc=0; ///numarul de cifre ale lui a
        x=a;
        while(x>0)
        {
            nc++;
            x=x/10;
        }
        int alipit=0;
        for(int i=1;i<=nc/2;i++) ///impart in cel putin 2 numere cu i cifre
            if(nc%i==0) ///daca se poate imparti!
            {
                long long p=1; /// 10^i
                for(int j=1;j<=i;j++)
                    p=p*10;
                int gu=a%p,ok=1;///gu = grupul ultimelor i cifre
                x=a;
                while(x>0)
                {
                    if(x%p!=gu) ok=0;///nu e alipit cin grupuri de i cifre
                    x=x/p; ///despart in grupuri de cate i cifre
                }
                if(ok) alipit=1;
            }
        if(a>9 && alipit) s=s+a;
    }
    cout<<s;
    return 0;
}
```

## Resurse

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