Pagini recente » Cod sursa (job #1603712) | Cod sursa (job #935942) | Cod sursa (job #877601) | Cod sursa (job #38738) | Cod sursa (job #2263543)
#include <iostream>
#include <fstream>
using namespace std;
int nulla(int n)
{
int counter = 0;
for (int i = 5; n >= i; i *= 5)
counter += n / i;
return counter;
}
int binary(int l, int r, int x)
{
if (r != l)
{
int mid = (l + r)/2;
// cout << mid << endl;
//if (nulla(mid) == x)
//return mid;
if (nulla(mid) >= x)
return binary(l, mid, x);
return binary(mid+1, r, x);
}
else
{
return r;
}
}
int main()
{
ifstream be ("fact.in");
ofstream ki ("fact.out");
//freopen("fact.in", "rt", stdin);
// freopen("fact.out", "wt", stdout);*/
int n;
be >> n;
if(n==0)
{
ki << 1;
return 0;
}
int er, kii=-1;
er = binary(1,100000000,n);
//cout << er;
for(int i=er-5;i<=er+5;++i)
{
if(nulla(i)==n){
//if(nulla(er)==n)
kii=er;
break;
}
}
/* for(;;)
{
if(nulla(er)==n && nulla(er-1)!=n)
{
ki << er;
break;
}
else
{
--er;
++tmp;
}
if(tmp>=0)
{
ki << "-1";
break;
}
}*/
//cout << er;
be.close();
ki.close();
return 0;
}