Pagini recente » Cod sursa (job #2791786) | Cod sursa (job #2341501) | Cod sursa (job #560341) | Cod sursa (job #498273) | Cod sursa (job #2498465)
#include <fstream>
using namespace std;
ifstream fin("factorial.in");
ofstream fout("factorial.out");
const long long NMAX = 1000000000;
long long legendre(long long n)
{
long long numitor = 5;//nr prim
long long p = 0; //putere
while(numitor <=n)
{
p = p + n/numitor;
numitor = numitor*5;
}
return p;
}
int main()
{
long long st = 1, dr = NMAX, solutie = -1, n, p, mid;
fin>>p;
while(st<=dr)
{
mid = (st + dr) >>1;
n = legendre(mid);
if(n == p)
{
solutie = mid;
dr = mid - 1;
continue;
}
if(n < p)
st = mid + 1;
else
dr = mid - 1;
}
fout<<solutie<<"\n";
return 0;
}