Pagini recente » Cod sursa (job #591483) | Cod sursa (job #1228819) | Cod sursa (job #2799315) | Cod sursa (job #38803) | Cod sursa (job #2112841)
#include <cstdio>
int n,k;
int v[1004];
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[0];
v[v[0]]+=v[v[0]-1]/10;
v[v[0]-1]%=10;
}
}
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 v=j;
while(v<nr)
{
pr[j]+=nr/v;
v*=j;
}
}
}
}
for(int i=2;i<=100;i++)
{
if(ciur[i]) continue;
while(pr[i]%k!=0)
{
++pr[i];
inm(i);
}
}
for(int i=v[0];i>=1;--i) printf("%d",v[i]);
}