Pagini recente » Cod sursa (job #3244883) | Cod sursa (job #1918645) | Cod sursa (job #2108306) | Cod sursa (job #430328) | Cod sursa (job #1295776)
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
#define nmax 100002
#define lmax 1000002
int v[nmax],d[lmax];
char p[lmax],b[lmax],vaz[lmax];
int main()
{
ifstream si;
si.open("pairs.in");
ofstream so;
so.open("pairs.out");
int n;
si>>n;
int i,l=0;
for(i=0;i<n;++i)
{
si>>v[i];
vaz[v[i]]=1;
l=max(v[i],l);
}
for(i=2;i<=l;++i)
{
if(p[i]==0)
{
int j;
for(j=2;j*i<=l;++j)
{
if(j%i==0)
b[i*j]=1;
++d[i*j];
}
}
}
long long sol=0;
for(i=2;i<=l;++i)
{
if(b[i]==0)
{
int nr=0;
for(int j=i;j<=l;j=j+i)
{
if(vaz[j]==1)
++nr;
}
nr=nr*(nr-1)/2;
if(d[i]%2==0)
sol+=nr;
else
sol-=nr;
}
}
so<<n*(n-1)/2-sol;
}