Pagini recente » Cod sursa (job #2073062) | Cod sursa (job #1001546) | Monitorul de evaluare | Cod sursa (job #1119794) | Cod sursa (job #211063)
Cod sursa(job #211063)
#include <stdio.h>
int n, v[1000005], rez, max;
int main()
{
freopen("pairs.in","r",stdin);
freopen("pairs.out","w",stdout);
int i, j, k, x;
scanf("%d",&n);
for (i = 1; i <= n; i++)
{
scanf("%d", &x);
v[x] = 1;
if (x > max) max = x;
}
rez = (n * (n - 1)) / 2;
for (i = 2; i <= max; i++)
{
if (!v[i] != -1)
{
k = 1;
for (j = 2; j * i <= max; j++)
{
if (v[i * j] == 1)k++;
v[i * j] = -1;
}
k *= (k - 1);
k /= 2;
rez -= k;
}
}
printf("%d\n",rez);
return 0;
}