Pagini recente » Cod sursa (job #1196791) | Cod sursa (job #2916431) | Cod sursa (job #1598386) | Cod sursa (job #2871845) | Cod sursa (job #2983500)
#include <fstream>
using namespace std;
ifstream fin("factoriale.in");
ofstream fout("factoriale.out");
int n,k;
int x;
int f[105];
int v[100000];
void multiply(int nr)
{
int t=0;
for(int i=1;i<=v[0];i++)
{
v[i]=v[i]*nr+t;
t=v[i]/10;
v[i]%=10;
}
while(t)
{
v[++v[0]]=t%10;
t/=10;
}
}
int main()
{
fin>>n>>k;
for(int i=1; i<=n; i++)
{
int q;
fin>>q;
for(int l=2; l<=q;l++)
{
x=l;
for(int d=2; d*d<=x; d++)
{
while(x%d==0)
{
f[d]++;
x/=d;
}
}
if(x!=1)
f[x]++;
}
}
v[0]=1;
v[1]=1;
for(int i=2; i<=100; i++)
{
if(f[i])
{
if(f[i]%k!=0)
{
for(int j=1;j<=(k-(f[i]%k));j++)
{
multiply(i);
}
}
}
}
for(int i=v[0];i>=1;i--)
{
fout<<v[i];
}
}