Cod sursa(job #25424)

Utilizator sweet_aliceLupsan Alice sweet_alice Data 4 martie 2007 12:34:19
Problema Puteri Scor 0
Compilator cpp Status done
Runda preONI 2007, Runda 3, Clasa a 9-a si gimnaziu Marime 0.79 kb
#include <stdio.h>
#include <math.h>

struct putere{

int x,y,z;
long long unsigned nr;
};

putere a[100];


int bun(long long unsigned k);

int main()
{
	freopen("puteri.in","r",stdin);
	freopen("puteri.out","w",stdout);

	long long unsigned n,i,prod;

	int numar=0,j;

	scanf("%llu",&n);

	for(i=1;i<=n;i++)
	{
		scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].z);
		a[i].nr=pow(2,a[i].x)*pow(3,a[i].y)*pow(5,a[i].z);
	}

	for(i=1;i<=n;i++)
		for(j=i+1;j<=n;j++)
		{
			prod=a[i].nr*a[j].nr;
			if(bun(prod)==1)
				numar++;
		}

	printf("%d",numar);

	return 0;

}


int bun( long long unsigned k)
{
	long long unsigned aux=k,p=1,i;

	for(i=2;i<=k/3;i++)
	{
		while(p<aux)
		{
			p*=i;

		}


		if(p==aux) return 1;
		p=1;
	}

	return 0;
}