Pagini recente » Cod sursa (job #2231749) | Cod sursa (job #1254568) | Cod sursa (job #1997372) | Cod sursa (job #1256355) | Cod sursa (job #3285005)
#include <bits/stdc++.h>
using namespace std;
ifstream f("factoriale.in");
ofstream g("factoriale.out");
int n,k,x;
int fr[1001];
int ci[100001];
void ciur()
{
ci[1]=ci[0]=1;
for(int i=2; i<=10000; i++)
if(ci[i]==0)
for(int j=i; j<=10000/i; i++)
ci[i*j]=1;
}
int main()
{
f>>n>>k;
for(int i=1; i<=n; i++)
{
f>>x;
for(int j=2; j<=x; j++)
{
if(ci[j]==1)
{
fr[j]++;
}
else
{
int p=0,l;
int d=2;
l=j;
while(l>1)
{
p=0;
while(l%d==0)
{
p++;
l=l/d;
}
fr[d]+=p;
d++;
}
}
}
}
int p=1;
for(int i=2; i<=101; i++)
if(fr[i]!=0)
if(k>fr[i])
{
int nr=k-fr[i];
if(nr!=0)
while(nr>0)
p=p*i,nr--;
}
else if(fr[i]%k!=0)
{
int nr=fr[i]/k+1;
nr=nr-fr[i];
if(nr!=0)
while(nr>0)
p=p*i,nr--;
}
g<<p;
}