Pagini recente » Cod sursa (job #1911442) | Cod sursa (job #1763511) | Cod sursa (job #263063) | Cod sursa (job #9323) | Cod sursa (job #3202134)
#include <fstream>
using namespace std;
ifstream in("factoriale.in");
ofstream out("factoriale.out");
int n, k;
int frec[105];
int ans[100005];
void inmulteste(int x)
{
int t = 0;
for(int i = 1; i<=ans[0]; i++)
{
t += ans[i] * x;
ans[i] = t % 10;
t /= 10;
}
while(t != 0)
{
ans[0]++;
ans[ans[0]] = t % 10;
t /= 10;
}
}
int main()
{
in>>n>>k;
int x, y, nr;
for(int i = 1; i<=n; i++)
{
in>>x;
for(int j = 2; j<=x; j++)
{
y = j;
for(int k = 2; k<=100 && k <= y; k++)
{
nr = 0;
while(y % k == 0)
{
y /= k;
nr++;
}
frec[k] += nr;
}
}
}
/*for(int i = 1; i<=5; i++)
{
out<<frec[i]<<" ";
}
out<<'\n';*/
ans[0] = ans[1] = 1;
for(int i = 2; i<=100; i++)
{
if(frec[i] % k != 0)
{
//out<<i<<" ";
for(int j = 1; j<=k - (frec[i] % k); j++)
{
inmulteste(i);
}
}
}
for(int i = ans[0]; i>=1; i--)
{
out<<ans[i];
}
return 0;
}