Pagini recente » Cod sursa (job #1693752) | Cod sursa (job #2478832) | Cod sursa (job #1608328) | Cod sursa (job #3260721) | Cod sursa (job #2794169)
#include <iostream>
#include <fstream>
using namespace std;
long long p,q;
long long legendre(long long n)
{
long long val=p,nr=0;
while(n>=val)
{
nr+=(n/val);
val*=p;
}
return nr;
}
long long cautbin()
{
long long p=1,u=60000000000000,sol=0;
while(p<=u)
{
long long m=(p+u)/2;
if(legendre(m)<q)
p=m+1;
else
{
u=m-1;
sol=m;
}
}
return sol;
}
int main()
{
ifstream cin("gfact.in");
ofstream cout("gfact.out");
cin>>p>>q;
cout<<cautbin();
return 0;
}