Pagini recente » Cod sursa (job #116026) | Cod sursa (job #1189055) | Cod sursa (job #931353) | Cod sursa (job #3258533) | Cod sursa (job #3312333)
#include <algorithm>
#include <fstream>
#include <vector>
#define ll long long
using namespace std;
const int nmax = 1e5 + 5;
const string txt = "pairs";
ifstream f(txt + ".in");
ofstream g(txt + ".out");
int n, v[nmax], fr[nmax * 10];
int main()
{
f.tie(NULL);
f >> n; int nr = 0;
for (int i = 1; i <= n; i++) {
f >> v[i];
nr = max(nr, v[i]);
for(int d = 1; d * d <= v[i]; d ++)
if (v[i] % d == 0)
fr[d]++, fr[v[i] / d]++;
}
for (int i = nr; i >= 1; i--)
{
fr[i] = (fr[i] - 1) * fr[i] / 2;
for (int j = 2 * i; j <= nr; j += i)
fr[i] -= fr[j];
}
g << fr[1];
return 0;
}