Pagini recente » Cod sursa (job #221898) | Cod sursa (job #1760889) | Cod sursa (job #343209) | Cod sursa (job #1489695) | Cod sursa (job #1957712)
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("factorial.in");
ofstream fout("factorial.out");
unsigned short nrzero(unsigned x){
unsigned short nr = 0, t = 5;
while (x / t > 0){
nr++;
t *= 5;
}
return nr;
}
int main(){
unsigned P, st, dr, mij;
fin >> P;
if (P == 0)
fout << 1 << '\n';
else{
st = 0;
dr = UINT_MAX / 5 + 1;
while (dr - st > 1){
mij = (dr + st) / 2;
if (nrzero(5 * mij) <= P)
st = mij;
else
dr = mij;
}
if (nrzero(5 * st) != P)
fout << -1 << '\n';
else
fout << 5 * st << '\n';
}
fin.close();
fout.close();
return 0;
}