Pagini recente » Cod sursa (job #571481) | Cod sursa (job #2694808) | Cod sursa (job #82982) | Cod sursa (job #906722) | Cod sursa (job #3249196)
#include <bits/stdc++.h>
using namespace std;
int main() {
freopen("pairs.in", "r", stdin);
freopen("pairs.out", "w", stdout);
int n;
cin >> n;
int nr;
const int nmax = 1e6;
bool is[nmax + 1];
memset(is, false, sizeof(is));
for(int i = 0;i < n;++i)
cin >> nr, is[nr] = true;
long long gcd[nmax + 1] = {0};
for(int i = 1;i <= nmax;++i)
{
int cnt = 0;
for(int j = i;j <= nmax;j += i)
cnt += is[j];
gcd[i] = ((long long) cnt * (cnt - 1)) / 2;
}
for(int i = nmax;i >= 1;--i)
for(int j = i + i;j <= nmax;j += i)
gcd[i] -= gcd[j];
cout << gcd[1] << "\n";
}