Pagini recente » Cod sursa (job #3294118) | Cod sursa (job #660787) | Cod sursa (job #1921342) | Cod sursa (job #2887826) | Cod sursa (job #1678423)
#include <fstream>
using namespace std;
ifstream f("factoriale.in");
ofstream g("factoriale.out");
int n,put,max_put,zuf,i,j,x,k,prim[100],sol[1<<17];
void mul(int a[],int q)
{
int t=0,z;
for(z=1;z<=a[0]||t;++z)
{
a[z]=a[z]*q+t;
t=a[z]/10;
a[z]%=10;
}
a[0]=z-1;
}
int main()
{
f>>n>>put;
for(i=1;i<=n;++i)
{
f>>zuf;
for(j=2;j<=zuf;++j)
{
k=2;
x=j;
while(x>1)
{
while(x%k==0)
{
prim[k]++;
x/=k;
}
++k;
}
}
}
sol[0]=sol[1]=1;
for(i=2;i<100;++i)
if(prim[i]&&prim[i]%put!=0)
for(j=prim[i]%put+1;j<=put;++j) mul(sol,i);
for(i=sol[0];i;--i) g<<sol[i];
return 0;
}