Pagini recente » Cod sursa (job #2349353) | Cod sursa (job #2737732) | Cod sursa (job #2468221) | Cod sursa (job #2888455) | Cod sursa (job #2873132)
#include<fstream>
#include <math.h>
using namespace std;
ifstream fin("factoriale.in");
ofstream fout("factoriale.out");
bool c[101];
int f[101];
int main()
{
int n, k, i, j, xv, cxv, ok;
long long int pr=1;
c[0]=c[1]=1;
for(i=4;i<=100;i+=2)
c[i]=1;
for(i=3;i*i<=100;i+=2)
if(c[i]==0)
for(j=i*i;j<=100;j+=2*i)
c[j]=1;
fin>>n>>k;
for(i=1;i<=n;i++)
{
fin>>xv;
while(xv>1)
{
cxv=xv;
int p=2;
while(cxv!=1)
{
if(c[p]==0)
while(cxv%p==0)
{
f[p]++;
cxv/=p;
}
p++;
}
xv--;
}
}
for(i=1;i<=100;i++)
while(f[i]>=k)
f[i]-=k;
for(i=1;i<=100;i++)
{
if(f[i]>0)
pr*=pow(i, k-f[i]);
}
fout<<pr;
return 0;
}