Cod sursa(job #473570)

Utilizator zloteanu.adrianzloteanu adrian nichita zloteanu.adrian Data 30 iulie 2010 13:17:16
Problema Factoriale Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <stdio.h>
int put[10000],A[10000];
int n,k;
void mul(int B)
{int i,t=0;
for(i=1;i<=A[0]||t;i++,t/=10)
  A[i]=(t+=A[i]*B)%10;
A[0]=i-1;}
int main()
{int nr,y,x,i,j;
A[0]=1;
A[1]=1;
freopen("factoriale.in", "r",stdin);
freopen("factoriale.out", "w",stdout);
scanf("%d%d", &n,&k);
for(i=1;i<=n;++i)
  {scanf("%d", &x);
  for(j=2;j<=x;++j)
  {y=j;
  for(nr=2;nr<=j;++nr)
	{if(y%nr==0)
      while(y%nr==0)
		  {y/=nr;
		  ++put[nr]; }
    if(y<=1)
     break;}}}
for(i=1;i<=100;++i)
  {if(put[i]>0)
	{if(put[i]%k!=0)
      for(j=1;j<=k-(put[i]%k);++j,mul(i));}}
for(i=A[0];i>=1;--i)
  printf("%d", A[i]);
return 0;}