Pagini recente » Cod sursa (job #1266837) | Cod sursa (job #2575809) | Cod sursa (job #2904618) | Cod sursa (job #605837) | Cod sursa (job #2738109)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("factoriale.in");
ofstream fout ("factoriale.out");
long long f[105];
long long n, k;
long long x, y;
long long sol[10005];
void prod(long long a[], long long b){
long long 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(long long i=1; i<=n; i++){
fin>>x;
for(long long j=2; j<=x; j++){
y=j;
while(y%2 == 0){
f[2]++;
y/=2;
}
for(long long d=3; d<=y/d; d+=2)
while(y%d == 0){
f[d]++;
y/=d;
}
if(y != 1)
f[y]++;
}
}
sol[0]=sol[1]=1;
for(long long i=2; i<=100; i++)
if(f[i] != 0)
while(f[i]%k != 0){
f[i]++;
prod(sol, i);
}
for(int i=sol[0]; i>=1; i--)
fout<<sol[i];
return 0;
}