Pagini recente » Cod sursa (job #1546330) | Cod sursa (job #2724725) | Cod sursa (job #2110188) | Cod sursa (job #2586752) | Cod sursa (job #2112857)
#include <cstdio>
int n,k;
int v[100004];
int ciur[104],pr[104];
void inm(int nr)
{
for(int i=1;i<=v[0];i++)
{
v[i]*=nr;
if(i==1) continue;
v[i]+=v[i-1]/10;
v[i-1]%=10;
}
while(v[v[0]]>9)
{
v[v[0]+1]+=v[v[0]]/10;
v[v[0]]%=10;
++v[0];
}
}
int main()
{
freopen ("factoriale.in","r",stdin);
freopen ("factoriale.out","w",stdout);
scanf("%d%d",&n,&k);
v[1]=1;
v[0]=1;
for(int i=2;i<=100;i++)
{
if(ciur[i]==0)
{
for(int j=i+i;j<=100;j+=i) ciur[j]=1;
}
}
int nr;
for(int i=1;i<=n;i++)
{
scanf("%d",&nr);
for(int j=2;j<100;j++)
{
if(ciur[j]==0)
{
int vt=j;
while(vt<=nr)
{
pr[j]+=nr/vt;
vt*=j;
}
}
}
}
for(int i=2;i<=100;i++)
{
if(ciur[i]) continue;
// if(pr[i]!=0) printf("%d %d\n",i,pr[i]);
while(pr[i]%k!=0)
{
++pr[i];
inm(i);
}
}
for(int i=v[0];i>=1;--i) printf("%d",v[i]);
}