Pagini recente » Cod sursa (job #1952064) | Cod sursa (job #1369247) | Cod sursa (job #1225066) | Cod sursa (job #875064) | Cod sursa (job #1357331)
#include<fstream>
using namespace std;
int t, n, k, i, j, ii, fact, p[103], m[103], nrp, p2[103], x[103], xp;
ifstream in("factoriale.in");
ofstream out("factoriale.out");
int main(){
in>>n>>k;
m[1]=1;
for(i=1; i<=99; i++){
if(m[i]==0){
p[++nrp]=i;
for(j=i+i; j<=100; j+=i)
m[j]=1;
}
}
for(ii=1; ii<=n; ii++){
in>>fact;
for(i=1; p[i]<=fact; i++){
xp=p[i];
while(fact/xp>0){
p2[p[i]]+=fact/xp;
xp*=p[i];
}
}
}
for(i=1; i<=nrp; i++){
if(p2[p[i]]!=0)
p2[p[i]]=p2[p[i]]%k;
}
x[0]=x[1]=1;
for(ii=1; ii<=nrp; ii++){
if(p2[p[ii]]!=0){
for(i=1; i<=x[0]; i++){
x[i]=x[i]*p[ii]+t;
t=x[i]/10;
x[i]=x[i]%10;
}
while(t!=0){
x[++x[0]]=t%10;
t/=10;
}
}
}
for(i=x[0]; i>=1; i--)
out<<x[i];
return 0;
}