Pagini recente » Cod sursa (job #1384438) | Cod sursa (job #34464) | Cod sursa (job #2557974) | Cod sursa (job #1632720) | Cod sursa (job #2111930)
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int p[] = {1, 5, 25, 125, 625, 3125, 15625, 78125, 390625, 1953125, 9765625, 48828125};
int main()
{
int val;
fin >> val;
if(val == 0)
{
fout << 1 << '\n';
return 0;
}
bool ok = 1;
int dr = val + 1, st = 100000000, rez = 0;
while(dr <= st){
int mid = (st + dr) / 2;
int nrzero = 0;
int nr = 1;
while(p[nr] <= mid ){
nrzero += (mid / p[nr]);
if(nrzero > val)
{
st = mid - 1;
ok = 0;
break;
}
++nr;
}
if(ok == 0){
ok = 1;
continue;
}
if(nrzero == val)
st = mid - 1, rez = mid;
else if(nrzero < val)
dr = mid + 1;
else
st = mid - 1;
}
fout << rez << '\n';
return 0;
}