Pagini recente » Cod sursa (job #2007073) | Profil Vlad3108 | Cod sursa (job #2967536) | Cod sursa (job #865557) | Cod sursa (job #1794915)
#include <fstream>
#define MAX 1 << 31
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
unsigned int nrZero(unsigned int n)
{
if (n < 5)
return 0;
return n / 5 + nrZero(n / 5);
}
unsigned int CautareBinara(unsigned int n)
{
unsigned int st = 1, dr = MAX;
while (st < dr)
{
unsigned int mij = st + (dr - st) / 2;
unsigned int _nrZero = nrZero(mij);
if (_nrZero == n)
return mij;
else if (_nrZero > n)
dr = mij - 1;
else
st = mij + 1;
}
return -1;
}
int main()
{
unsigned int n;
f >> n;
unsigned int rez = CautareBinara(n);
while (rez % 5 != 0 && rez != 1)
--rez;
g << rez;
return 0;
}