Pagini recente » Cod sursa (job #653747) | Cod sursa (job #521606) | Cod sursa (job #2777214) | Cod sursa (job #1935326) | Cod sursa (job #137535)
Cod sursa(job #137535)
#include<fstream.h>
long long n,k,i,a,j,aux,ex[100],d,numar[1005],l,t,s;
int main(){
ifstream fin("factoriale.in");
ofstream fout("factoriale.out");
fin>>n>>k;
for(i=1;i<=n;i++){
fin>>a;
for(j=2;j<=a;j++){
aux=j;
while(aux%2==0){
ex[2]++;
aux/=2;
}
d=3;
while(aux%d==0){
ex[d]++;
aux/=d;
if(aux%d!=0 && d+2<=aux)
d+=2;
}
}
}
numar[1]=1;
numar[0]=1;
for(i=2;i<=97;i++)
if(ex[i]%k!=0){
for(j=ex[i]%k+1;j<=k;j++){
for(l=1;l<=numar[0];l++)
numar[l]*=i;
if(j%10==0 || j==k){
t=0;
for(l=1;l<=1000;l++){
s=(numar[l]+t)%10;
t=(numar[l]+t)/10;
numar[l]=s;
if(l>numar[0] && numar[l]!=0)
numar[0]=l;
}
}
}
}
for(i=numar[0];i>=1;i--)
fout<<numar[i];
return 0;
}