Cod sursa(job #137469)

Utilizator mihai_simionSimion Zanescu Mihai mihai_simion Data 17 februarie 2008 12:20:48
Problema Factoriale Scor 40
Compilator cpp Status done
Runda preONI 2008, Runda 4, Clasa a 9-a Marime 0.81 kb
#include<stdio.h>
#include<math.h>
int b,a,c,i,j,p,d,n,k;
int m[100],x[100];
long long q=1;
int main ()
{
freopen("factoriale.in","r",stdin);
freopen("factoriale.out","w",stdout);
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
  {
  scanf("%d",&a);
  for(j=2;j<=a;j++)
    {
    d=1;
    c=j;
    while(c!=1)
      {
      d++;
      p=0;
      while(c%d==0)
	{
	p++;
	c=c/d;
	}//c%d
      m[d]+=p;
      }//c!=1
    }//for fiecare nr
  }//for mare d citire
// il am pe m sub forma de factori !!!! primi
for(i=1;i<=100;i++)
  {
  if (m[i]!=0)
    {
    if (m[i]<=k)
      x[i]=k-m[i];
    else
      {
      b=m[i]%k;
      if(b!=0)
	x[i]=k-b;
      }
    }
  else
    continue;
  }
for(i=1;i<100;i++)
  if(x[i]!=0)
    for(j=1;j<=x[i];j++)
      q=q*i;
printf("%lld",q);
return 0;
}