Cod sursa(job #25729)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 4 martie 2007 14:20:06
Problema Puteri Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include<stdio.h>
long long int x[35],max,p,n,i,j,a[100000],b[100000],c[100000],sol;
long long int prime128()
{
	x[1]=2;x[2]=3;x[3]=5;x[4]=7;
	x[5]=11;x[6]=13;x[7]=17;x[8]=19;
	x[9]=23;x[10]=29;x[11]=31;x[12]=37;
	x[13]=41;x[14]=43;x[15]=47;x[16]=53;
	x[17]=59;x[18]=61;x[19]=67;x[20]=71;
	x[21]=73;x[22]=79;x[23]=83;x[24]=89;
	x[25]=97;x[26]=101;x[27]=103;x[28]=107;
	x[29]=109;x[30]=113;x[31]=127;x[32]=131;
	return 0;
}
long long int ok(long long int u,long long int v,long long int w)
{
	max=u;
	if(max<v)max=v;
	if(max<w)max=w;
	for(p=1;p<=31;p++)
	{ if(x[p]>max) return 0;
	  if(u%x[p]==0) if(v%x[p]==0) if(w%x[p]==0) return 1;
	}
	return 0;
}
int main()
{       prime128();
	FILE *f;
	f=fopen("puteri.in","r");
	fscanf(f,"%lld",&n);
	for(i=0;i<n;i++)
	fscanf(f,"%lld%lld%lld",&a[i],&b[i],&c[i]);
	fclose(f);
	for(i=0;i<n-1;i++)
	for(j=i+1;j<n;j++)
	sol+=ok(a[i]+a[j],b[i]+b[j],c[i]+c[j]);
	f=fopen("puteri.out","w");
	fprintf(f,"%lld\n",sol);
	fclose(f);
	return 0;
}