Pagini recente » Cod sursa (job #175190) | Cod sursa (job #757127) | Cod sursa (job #756778) | Cod sursa (job #1052902) | Cod sursa (job #3152482)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("gfact.in");
ofstream fout("gfact.out");
long long fact(long long n,long long p)
{
long long cnt=0;
while(n)
{
cnt+=n/p;
n/=p;
}
return cnt;
}
long long cautbin(long long p,long long q)
{
long long i1=1,i2=1e18,mij,rez=0;
while(i1<=i2)
{
mij=(i1+i2)/2;
long long val=fact(mij,p);
if(val>=q)
{
rez=mij;
i2=mij-1;
}
else i1=mij+1;
}
return rez;
}
int main()
{
long long p,q;
fin>>p>>q;
fout<<cautbin(p,q);
return 0;
}