Pagini recente » Cod sursa (job #1747817) | Cod sursa (job #3278894) | Cod sursa (job #626252) | Cod sursa (job #1713489) | Cod sursa (job #109532)
Cod sursa(job #109532)
#include<stdio.h>
int x[100001];
const int MAXSIZE=5000;
const int MAXSIZE2=500001;
int u[MAXSIZE];
int p[MAXSIZE2];
int getPrimeNumbers(int n) {
int i, j, nr = 1; u[nr]=2;
for (i = 3; i <= n; i += 2) {
if (p[i] == 0) {
nr++;
u[nr]=i;
for (j = i + i + i; j <= n; j += i << 1) {
p[j] = 1;
}
}
}
return nr;
}
int main()
{
FILE *fin,*fout;
int i,j,n,k,ext,perechi=0;
fin=freopen("pairs.in","r",stdin);
fout=freopen("pairs.out","w",stdout);
scanf("%d",&n);
int ret=getPrimeNumbers(500000);
for(i=1;i<=n;i++)
{
scanf("%d",&x[i]);
for(j=1;j<i;j++)
{
//check div
ext=1;
for(k=1;k<=ret && x[i]>=u[k] && x[j]>=u[k] && ext;k++)
{
if(x[i]%u[k]==0 && x[j]%u[k]==0)
ext=0;
}
if(ext) {
perechi++;
}
}
}
printf("%d",perechi);
fclose(fin);
fclose(fout);
return 0;
}