Pagini recente » Cod sursa (job #862465) | Cod sursa (job #455510) | Cod sursa (job #3251134) | Cod sursa (job #1167571) | Cod sursa (job #1357261)
#include<fstream>
#include<bitset>
using namespace std;
ifstream fin("factoriale.in");
ofstream fout("factoriale.out");
bitset <100> p;
int n,k,x,nr,v[100],ap[100];
int sol[10005]={1,1};
void ciur()
{
int i,j;
p[1]=1;
for (i=2;i<100;++i)
if (!p[i])
{
v[++nr]=i;
for (j=2;i*j<100;++j)
p[i*j]=1;
}
}
void prod(int A[], int K)
{
int i,t;
for (i=1,t=0;i<=A[0] || t;++i,t/=10)
A[i]=(t+=A[i]*K)%10;
A[0]=i-1;
}
int main()
{
int i,j,pow;
ciur();
fin>>n>>k;
for (i=1;i<=n;++i)
{
fin>>x;
for (j=1;v[j]<=x && j<=nr;++j)
{
pow=v[j];
while (pow<=x)
{
ap[j]+=x/pow;
pow*=v[j];
}
}
}
for (i=1;i<=nr;++i)
if (ap[i]%k)
{
x=ap[i]%k;
for (j=x+1;j<=k;++j)
prod(sol,v[i]);
}
for (i=sol[0];i;--i)
fout<<sol[i];
fout<<"\n";
return 0;
}