Cod sursa(job #2280609)
| Utilizator | Data | 10 noiembrie 2018 21:48:11 | |
|---|---|---|---|
| Problema | GFact | Scor | 15 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <fstream>
using namespace std;
ifstream f("gfact.in");
ofstream g("gfact.out");
int nrdiv (int n, int a) {
int nr=0;
while (n!=0) {
nr+=n/a;
n/=a;
}
return nr;
}
int fact (int P, int Q) {
int r=0, pas=1<<30;
while (pas!=0) {
if (nrdiv(r+pas, P)<Q){
r+=pas;
}
pas/=2;
}
return r+1;
}
int main() {
int r, P, Q;
f>>P>>Q;
r=fact(P, Q);
g<<r<<'\n';
return 0;
}
