Cod sursa(job #25495)

Utilizator razvanbrBratfalean Razvan razvanbr Data 4 martie 2007 12:44:49
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 rezolva(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(rezolva(prod)==1)
			numar++;
	}

	printf("%d",numar);

	return 0;

}


int rezolva(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;
}