Pagini recente » Cod sursa (job #1879779) | Cod sursa (job #1586621) | Cod sursa (job #2221021) | Cod sursa (job #124565) | Cod sursa (job #2261691)
#include <iostream>
#include <fstream>
using namespace std;
int nulla(int n)
{
int counter = 0;
for (int i = 5; n / i >= 1; i *= 5)
counter += n / i;
return counter;
}
int binary(int l, long r, int x)
{
if (r >= l)
{
int mid = (l + r)/2;
if (nulla(mid) == x)
return mid;
if (nulla(mid) > x)
return binary(l, mid-1, x);
return binary(mid+1, r, x);
}
return -1;
}
int main()
{
ifstream be ("fact.in");
ofstream ki ("fact.out");
int n;
be >> n;
int er;
er = binary(0,100000000,n);
int tmp=-5;
for(;;)
{
if(nulla(er)==n && nulla(er-1)!=n)
{
ki << er;
break;
}
else
{
--er;
++tmp;
}
if(tmp>=0)
{
ki << "-1";
break;
}
}
return 0;
}