Cod sursa(job #62535)

Utilizator marcelcodreaCodrea Marcel marcelcodrea Data 22 mai 2007 23:14:28
Problema Puteri Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#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;
}