Pagini recente » Cod sursa (job #3179550) | Cod sursa (job #898720) | Cod sursa (job #1652536) | Cod sursa (job #316628) | Cod sursa (job #270446)
Cod sursa(job #270446)
#include <stdio.h>
#include <stdlib.h>
int e[100005];
char c[800001];
int comparare(const void * a,const void * b)
{
return (*(int*)a - *(int*)b );
}
void parsare(FILE *f1)
{
int nr=1,x=0,i;
fread(c,800001,1,f1);
for(i=1;c[i]!=0;i++)
if(c[i]==' ' || c[i]=='\n')
e[nr++]=x;
else
x=10*x+c[i]-'0';
}
int main()
{
int i,j,a,b,r,d=0,n;
FILE *f1,*f2;
f1=fopen("pairs.in","r");
f2=fopen("pairs.out","w");
fscanf(f1,"%d",&n);
parsare(f1);
qsort(e,n+1,sizeof(int),comparare);
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
{
a=e[i];
b=e[j];
while(b)
{
r=a%b;
a=b;
b=r;
}
if(a==1) d++;
}
fprintf(f2,"%d",d);
fclose(f1);
fclose(f2);
return 0;
}