Cod sursa(job #432096)

Utilizator drywaterLazar Vlad drywater Data 1 aprilie 2010 20:11:43
Problema Factoriale Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
FILE *f=fopen("factoriale.in","r"),*g=fopen("factoriale.out","w");
int n,k,i,v[101],x[101],s,l,j,a;
int main(void)
{
	fscanf(f,"%d%d",&n,&k);
	for (i=1;i<=n;i++)
	{
		fscanf(f,"%d",&x[i]);
		a=x[i];
		for (l=2;l<=a;l++)
		{
		x[i]=l;
		while (x[i]%2==0)
		{
			x[i]/=2;
			v[2]++;
		}
		for (j=3;x[i]>1;j+=2)
		{
			while (x[i]%j==0)
			{
				x[i]/=j;
				v[j]++;
			}
		}
		if (x[i]>1)
			v[x[i]]++;
		}
	}
	s=1;
	for (i=2;i<=101;i++)
	{
		if (v[i]==0) continue;
		while (v[i]%k!=0)
		{
			v[i]++;
			s*=i;
		}
	}
	fprintf(g,"%d\n",s);
	fclose(g);
	return 0;
}