Cod sursa(job #485873)

Utilizator Teodor94Teodor Plop Teodor94 Data 19 septembrie 2010 19:45:31
Problema Factoriale Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<cstdio>

const int N=105;

int n,k,exp[N];

void citire()
{
	scanf("%d%d",&n,&k);
	int x,xx;
	for (int i=1;i<=n;++i)
	{
		scanf("%d",&x);
		for (int ii=2;ii<=x;++ii)
		{
			xx=ii;
			for (int j=2;j*j<=xx;++j)
				while (xx%j==0)
				{
					xx/=j;
					exp[j]++;
				}
			if (xx!=1)
				exp[xx]++;
		}
	}
}

void rez()
{
	long long rez=1;
	for (int i=2;i<=97;++i)
		if (exp[i]%k!=0)
			for (int j=1;j<=exp[i]%k;++j)
				rez=(long long)rez*i;
	printf("%lld\n",rez);
}

int main()
{
	freopen("factoriale.in","r",stdin);
	freopen("factoriale.out","w",stdout);
	citire();
	rez();
	return 0;
}