Pagini recente » Cod sursa (job #569426) | Cod sursa (job #3157052) | Cod sursa (job #1625782) | Cod sursa (job #1124187) | Cod sursa (job #2465286)
#include <fstream>
using namespace std;
long long inf = 10000000000;
long p;
ifstream f ("fact.in");
ofstream g ("fact.out");
int nrzero (long long n) {
long long nrz = 0;
while (n) {
nrz += n/5;
n/=5;
}
return nrz;
}
int cautbin(long long st, long long dr) {
while (st < dr) {
long long mid = st + (dr-st)/2;
long long nrz = nrzero(mid);
if (nrz > p)
dr = mid;
else if (nrz < p)
st = mid+1;
else if (nrz == p) {
while (nrz == p) {
mid -= 1;
nrz = nrzero(mid);
}
g << mid+1;
return 0;
}
}
g << -1;
return 0;
}
int main()
{
f >> p;
if (p == 0)
g << 1;
else
cautbin(1,inf);
return 0;
}