Pagini recente » Cod sursa (job #2983819) | Cod sursa (job #816292) | Cod sursa (job #2405426) | Cod sursa (job #327485) | Cod sursa (job #528015)
Cod sursa(job #528015)
#include <fstream>
#include <vector>
using namespace std;
bool prim[103];
vector <int> primes;
int power[100];
void ciur()
{
for(int i = 2; i <= 100; ++i)
{
if(!prim[i])
primes.push_back(i);
for(int j = i + i; j <= 100; j += i)
prim[j] = 1;
}
}
int main()
{
int n, k;
ifstream f("factoriale.in");
ofstream g("factoriale.out");
f >> n >> k;
ciur();
for(int i = 1; i <= n; ++i)
{
int nr;
f >> nr;
for(unsigned int j = 0; j < primes.size() && nr >= primes[j]; ++j)
{
int c = nr;
while(c != 0)
{
c /= primes[j];
power[j] += c;
}
}
}
long long sol = 1;
for(unsigned int i = 0; i < primes.size(); ++i)
if(power[i] && power[i] % k)
for(int j = 1; j <= k - (power[i] % k); ++j)
sol *= primes[i];
g << sol;
f.close();
g.close();
return 0;
}