Pagini recente » Cod sursa (job #3361169) | Istoria paginii utilizator/malvin | Cod sursa (job #3361170) | Cod sursa (job #3361151) | Cod sursa (job #3361161)
#include <fstream>
using namespace std;
ifstream fin("factoriale.in");
ofstream fout("factoriale.out");
int i,j,prim[102],n,k;
long long rez[100002],f[102];
void produs(int a[],int b,int c[]){
long long t=0,aux=0;
for(int i=1;i<=a[0];i++){
aux=a[i]*b+t;
c[i]=aux%10;
t=aux/10;
}
c[0]=a[0];
while(t){
c[0]++;
c[c[0]]=t%10;
t=t/10;
}
}
int main()
{
for(i=2;i<=100;i++){
if(prim[i]==0){
for(int j=i+i;j<=100;j+=i){
prim[j]=1;
}
}
}
fin>>n>>k;
for(i=1;i<=n;i++){
fin>>a;
for(j=2;j<=a;j++){
p=j;
while(p<=a){
f[j]+=a/p;
p*=j;
}
}
}
rez[0]=rez[1]=1;
for(i=2;i<=97;i++){
if(f[i]>0){
if(f[i]%k!=0){
exp=k-f[i]%k;
for(j=1;j<=exp;j++){
produs(rez,i,rez);
}
}
}
}
for(i=rez[0];i>=1;i--){
fout<<rez[i];
}
return 0;
}