Cod sursa(job #137641)

Utilizator DraStiKDragos Oprica DraStiK Data 17 februarie 2008 12:51:12
Problema Factoriale Scor 40
Compilator cpp Status done
Runda preONI 2008, Runda 4, Clasa a 9-a Marime 0.66 kb
#include <stdio.h>
int a[101];
int n,k;
int ciur[25]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97};
int p[25];
long prod=1;
int main ()
{
	freopen ("factoriale.in","r",stdin);
	freopen ("factoriale.out","w",stdout);
	int i,j,aux;
	scanf ("%d%d",&n,&k);
	for (i=1; i<=n; ++i)
	{
	    scanf ("%d",&a[i]);
		for (j=0; ciur[j]<=a[i]; ++j)
		{
			aux=a[i];
			while (aux)
			{
				  p[j]+=aux/ciur[j];
				  aux/=ciur[j];
			}
		}
	 }
	 for (i=0; i<25; ++i)
		 if (p[i]%k!=0)
		 {
					   aux=p[i]%k;
					   aux=k-aux;
					   for (j=1; j<=aux; ++j)
						   prod*=ciur[i];
		 }
	printf ("%ld",prod);
	return 0;
}