Pagini recente » Cod sursa (job #1155939) | Cod sursa (job #1686650) | Cod sursa (job #205396) | Cod sursa (job #133633) | Cod sursa (job #245130)
Cod sursa(job #245130)
#include <stdio.h>
#define T 45000
int pr[45000],k=0;
void ciur()
{
int i,j;
bool c[T]={false};
for (i=2; i*i<T; i++)
{
if (!c[i])
for (j=i*i; j<T; j+=i)
c[j]=true;
}
for (i=2; i<T; ++i)
if (!c[i])
pr[++k]=i;
}
int main()
{
freopen("pairs.in","r",stdin);
freopen("pairs.out","w",stdout);
int n,i,a[100001],j,s=0,comb,max=0,nrdiv;
scanf("%d",&n);
ciur();
for (i=1; i<=n; i++)
{
scanf("%d",&a[i]);
if (a[i]>max)
max=a[i];
}
comb=n*(n-1)/2;
for (j=1; pr[j]*pr[j]<=max; j++)
{
nrdiv=0;
for (i=1; i<=n; i++)
if (a[i]%pr[j]==0)
nrdiv++;
comb-=nrdiv*(nrdiv-1)/2;
}
printf("%d",comb);
return 0;
}