Pagini recente » Cod sursa (job #1370042) | Cod sursa (job #3223596) | Cod sursa (job #1948182) | Cod sursa (job #1894062) | Cod sursa (job #2520075)
#include <fstream>
using namespace std;
ifstream fin("factoriale.in");
ofstream fout("factoriale.out");
int i,n,k,j,v[110],x,s,sol[100010],f[110],a[110],exp[110],t;
void produs(int A[], int b){
int t=0;
for(int i=1;i<=A[0];i++){
A[i]=A[i]*b+t;
t=A[i]/10;
A[i]%=10;
}
while(t){
A[++A[0]]=t%10;
t/=10;
}
}
int main(){
fin>>n>>k;
for(i=2;i<=100;i++)
if(f[i]==0){
v[++t]=i;
for(j=2*i;j<=100;j+=i)
f[j]=1;
}
for(i=1;i<=n;i++){
fin>>a[i];
}
for(i=1;i<=n;i++)
for(j=1;j<=t;j++){
x=v[j];
s=0;
while(x<=a[i]){
s+=a[i]/x;
x*=v[j];
}
exp[j]+=s;
}
sol[0]=sol[1]=1;
for(i=1;i<=t;i++){
if(exp[i]==0)
break;
while(exp[i]%k!=0){
produs(sol,v[i]);
exp[i]++;
}
}
for(i=sol[0];i>=1;i--)
fout<<sol[i];
return 0;
}