Pagini recente » Cod sursa (job #2033084) | Cod sursa (job #1645177) | Cod sursa (job #2302943) | Cod sursa (job #996151) | Cod sursa (job #2426629)
#include <fstream>
using namespace std;
ifstream in ("gfact.in");
ofstream out ("gfact.out");
long long apar (long long a,long long p)
{
long long cnt=0,aux=p;
while (p<=a)
cnt+=(a/p),p*=aux;
return cnt;
}
long long ctbin (long long p,long long q)
{
unsigned long long st=0,dr=(1LL<<30),mijl,poz;
while (st<=dr)
{
mijl=(st+dr)/2;
if (apar(mijl,p)>=q)
dr=mijl-1,poz=mijl;
else
st=mijl+1;
}
return poz;
}
int main()
{
long long p,q;
in>>p>>q;
out<<ctbin(p,q);
return 0;
}