Pagini recente » Cod sursa (job #2635013) | Cod sursa (job #928930) | Cod sursa (job #3182020) | Cod sursa (job #3041100) | Cod sursa (job #2263547)
#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");
int n;
be >> n;
if(n==0)
{
ki << 1;
return 0;
}
int er, kii=-1;
er = binary(1,100000000,n);
for(int i=er-5;i<=er+5;++i)
{
if(nulla(i)==n){
//if(nulla(er)==n)
kii=er;
break;
}
}
ki<<kii;
be.close();
ki.close();
return 0;
}