Pagini recente » Cod sursa (job #1783036) | Cod sursa (job #2036581) | Cod sursa (job #2107518) | Cod sursa (job #2223776) | Cod sursa (job #1082003)
#include <iostream>
#include <fstream>
#define M 1000000000
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long p;
long long NumarZero(long long x)
{
long long nr = 0;
long long multiplu = 5;
while(multiplu <= x)
{
nr = nr + (x/multiplu);
multiplu = multiplu*5;
}
return nr;
}
void CautBinar(long long stanga,long long dreapta)
{
long long bun = -1, mijloc, nr;
while(stanga <= dreapta)
{
mijloc = stanga + (dreapta - stanga)/2;
nr = NumarZero(mijloc);
if (nr == p)
{
bun = mijloc;
dreapta = mijloc - 1;
}
else
if(nr > p)
dreapta = mijloc - 1;
else
if(nr < p)
stanga = mijloc + 1;
}
g << bun;
}
int main()
{
f >> p;
if(p == 0)
g << "1";
else
CautBinar(1,M);
return 0;
}