# PBinfo #4105 – NumarareDiv – Rezolvare C++

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

## Enunț

Cerinţa
Se dă un vector cu n numere naturale. Să se determine câte dintre perechile de elemente din vector au același număr de divizori.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii, reprezentând elementele vectorului.

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

Restricţii şi precizări

1 ≤ n ≤ 1000
elementele vectorului vor fi cuprinse între 1 și 1.000.000.000

Exemplu:
Intrare

6
13 3 8 7 9 25
Ieșire

4
Explicație
Perechile de elemente cu același număr de divizori sunt:
13 3 – cu câte 2 divizori fiecare 
13 7 – cu câte 2 divizori fiecare
3 7 – cu câte 2 divizori fiecare
9 25 – cu câte 3 divizori fiecare

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int v[1001], s[1001], n, contor;
int main() {
    cin >> n;
    for (int i = 1; i <= n; i++) {
        long long int S = 0;
        cin >> v[i];
        for (int d = 1; d * d <= v[i]; d++)
            if (v[i] % d == 0) {
                S++;
                if (d * d != v[i]) S++;
            }
        s[i] = S;
    }
    for (int i = 1; i <= n; i++)
        for (int j = i + 1; j <= n; j++)
            if (s[i] == s[j])
                contor++;
    cout << contor;
    return 0;
}
```

## Resurse

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