Cod sursa(job #2701054)
Utilizator | Data | 29 ianuarie 2021 18:19:11 | |
---|---|---|---|
Problema | GFact | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.36 kb |
#include <fstream>
#include <climits>
using namespace std;
ifstream cin("gfact.in");
ofstream cout("gfact.out");
int main(){
int p,q;
cin >> p >> q;
int st=0,dr=INT_MAX,mid,mn;
mn=dr;
while( dr-st>1){
mid= (st+dr) /2; int mid1=mid,s=0;
while(mid1){
mid1/=p;
s+=mid1;
}
if(s>=q){mn=min(mn,mid);dr=mid;}
else{st=mid;}
}
cout<<mn;
return 0;
}