Cod sursa(job #62535)
#include<stdio.h>
long n,doi[100000],trei[100000],cinci[100000],contor,i,j,m,sum1,sum2,sum3;
int cmmdc(int x1,int y1,int z1)
{
int aux,m,r[4],i,j;
r[1]=x1;r[2]=y1;r[3]=z1;
for(i=1;i<=2;i++)
for(j=i+1;j<=3;j++)
if (r[i]>r[j])
{
aux=r[i];
r[i]=r[j];
r[j]=aux;
}
if (r[1]==0&&r[2]!=0) r[1]=r[2];
if ((r[1]==0)&&(r[2]==0))
{
r[1]=r[3];
r[2]=r[3];
}
x1=r[1];
y1=r[2];
z1=r[3];
while(x1%y1!=0)
{
aux=y1;
y1=x1%y1;
x1=aux;
}
m=y1;
while(z1%m!=0)
{
aux=m;
m=z1%m;
z1=aux;
}
return m;
}
int main()
{
freopen("puteri.in","r",stdin);
freopen("puteri.out","w",stdout);
scanf("%ld",&n);
for(i=1;i<=n;i++)
scanf("%ld %ld %ld",&doi[i],&trei[i],&cinci[i]);
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
{
sum1=doi[i]+doi[j];
sum2=trei[i]+trei[j];
sum3=cinci[i]+cinci[j];
if (cmmdc(sum1,sum2,sum3)!=1)
contor++;
}
printf("%ld\n",contor);
return 0;
}