Pagini recente » Cod sursa (job #1413518) | Cod sursa (job #1740938) | Cod sursa (job #2753730) | Cod sursa (job #1465844) | Cod sursa (job #1118768)
#include <fstream>
using namespace std;
ifstream f("gfact.in");
ofstream g("gfact.out");
int put, st, dr, mij, p, q, v, Max, cop, nr, i, sol;
int main()
{
f>>p>>q;
for (i=2; i*i<=p; i++)
{
while (p%i==0)
{
put++;
p/=i;
}
st=1;
dr=20;
while(st<=dr)
{
nr=0;
mij=(st+dr)/2;
for (cop=i; cop<=mij; cop*=i)
nr+=mij/cop;
if (nr<put*q)
st=mij+1;
else
{
sol=mij;
dr=mij-1;
}
}
if (Max < sol)
Max = sol;
}
if(p!=1)
{
st=1;
dr=2000000001;
while(st<=dr)
{
nr=0;
mij=(st+dr)/2;
for (cop=i; cop<=mij; cop*=i)
nr+=mij/cop;
if (nr<q)
st=mij+1;
else
{
sol=mij;
dr=mij-1;
}
}
if (Max < sol)
Max = sol;
}
g<<Max;
return 0;
}