Cod sursa(job #25109)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 4 martie 2007 10:42:44
Problema Puteri Scor 20
Compilator cpp Status done
Runda preONI 2007, Runda 3, Clasa a 9-a si gimnaziu Marime 0.95 kb
#include<stdio.h>
long int x[35],max,p,n,i,j,a[100],b[100],c[100],sol;
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 int ok(long int u,long int v,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,"%ld",&n);
	for(i=0;i<n;i++)
	fscanf(f,"%d%d%d",&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,"%ld",sol);
	fclose(f);
	return 0;
}