Pagini recente » Cod sursa (job #1173171) | Cod sursa (job #344114) | Cod sursa (job #1543620) | Cod sursa (job #30402) | Cod sursa (job #3221715)
#include <bits/stdc++.h>
using namespace std;
#define ll long long
ifstream fin("pairs.in");
ofstream fout("pairs.out");
const int N=1e5+1,VALMAX=1e6+1;
bool ciur[VALMAX],vc[VALMAX];
int main()
{
int n,i,j,x,cnt;
ll rez=0;
fin>>n;
for(i=2;i<=VALMAX;i++)
{
if(ciur[i]==0){
for(j=i;j<=VALMAX;j+=i)
ciur[j]++;
}
}
for(i=1;i<=n;i++)
{
fin>>x;
vc[x]=1;
}
for(i=2;i<=VALMAX;i++)
{
cnt=0;
for(j=i;j<=VALMAX;j+=i)
{
if(vc[j])
cnt++;
}
if(ciur[i]%2==0)
rez-=1LL*cnt*(cnt-1)/2;
else
rez+=1LL*cnt*(cnt-1)/2;
}
fout<<n*(n-1)/2-rez;
return 0;
}