Pagini recente » Cod sursa (job #2904775) | Cod sursa (job #3258481) | Cod sursa (job #1010769) | Cod sursa (job #2762840) | Cod sursa (job #1326963)
#include <fstream>
//#include <iostream>
using namespace std;
int NrZ(int n)
{
int q, k;
q = 5;
k = 0;
while (q <= n)
{
k += (n / q);
q *= 5;
}
return k;
}
int main()
{
int st, dr, sol, m;
int p, x;
ifstream fin("fact.in");
fin >> p;
fin.close();
st = 1;
dr = 2000000000;
while (st <= dr)
{
m = (dr - st) / 2 + st;
//cout << m << "\n";
x = NrZ(m);
if (x == p)
{
sol = m;
dr = m - 1;
}
else if (x > p) dr = m - 1;
else st = m + 1;
}
if (p < 0) sol = -1;
ofstream fout("fact.out");
fout << sol << "\n";
fout.close();
return 0;
}