Pagini recente » Cod sursa (job #748953) | Cod sursa (job #1033241) | Cod sursa (job #1401506) | Diferente pentru problema/sortare2 intre reviziile 1 si 5 | Cod sursa (job #1327974)
#include <fstream>
using namespace std;
ifstream f("gfact.in");
ofstream g("gfact.out");
long long p,q,st,dr,m,pr,nr,best;
int main()
{
f>>p>>q;
if (p==1)
g<<0;
else{
st=1,dr=(1ll<<61)-1;
while(st<=dr)
{
m=(st+dr)/2;
nr=0;
for (pr=p;pr<=m;pr*=p)
if ((m/p)<=pr) nr+=m/pr;
if (nr>=q) best=m,dr=m-1;
else st=m+1;
}
g<<best<<' ';
}
return 0;
}