Cod sursa(job #1892191)
| Utilizator | Data | 24 februarie 2017 19:54:53 | |
|---|---|---|---|
| Problema | GFact | Scor | 25 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <iostream>
#include <fstream>
using namespace std;
long long find(long long P, long long Q){
long long fact = 1;
for(long long i = 1; i <= INT32_MAX; i++ )
{
fact = fact * i;
while(fact % P == 0)
{
Q--;
fact = fact/P;
}
if(Q == 0)
{
return i;
}
}
return -1;
}
int main() {
long long P,Q;
freopen("gfact.in", "r", stdin);
freopen("gfact.out", "w", stdout);
scanf("%lld",&P);
scanf("%lld",&Q);
printf("%lld",find(P,Q));
return 0;
}