Pagini recente » Cod sursa (job #2148705) | Cod sursa (job #1937315) | Cod sursa (job #2533344) | Cod sursa (job #2134176) | Cod sursa (job #1712880)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("factoriale.in");
ofstream fout("factoriale.out");
int n,k,i,j;
bitset<101>c;
int prim[27],lg,x;
int pt[27];
int a[5010];
int power(int x, int y)
{
int cnt=0;
while(x)
{
cnt+=x/y;
x/=y;
}
return cnt;
}
void trns(int x)
{
int i;
for(i=1;i<=25 && prim[i]<=x;i++)pt[i]+=power(x,prim[i]);
}
void inm(int *a, 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()
{
c[0]=c[1]=1;
for(i=2;i<=100;i++)
if(!c[i])
{
prim[++lg]=i;
for(j=i*i;j<=100;j+=i)c[j]=1;
}
fin>>n>>k;
for(i=1;i<=n;i++)
{
fin>>x;
trns(x);
}
a[0]=a[1]=1;
for(i=1;i<=25;i++)
while(pt[i]%k)
{
pt[i]++;
inm(a,prim[i]);
}
for(i=a[0];i>=1;i--)fout<<a[i];
fout<<"\n";
return 0;
}