Pagini recente » Cod sursa (job #124829) | Cod sursa (job #2401161) | Cod sursa (job #1981808) | Cod sursa (job #1335040) | Cod sursa (job #1799679)
#include <stdio.h>
#include <fstream>
using namespace std;
int apar(int n) {
int put = 5, nr = 0;
while (n >= put) {
nr += n / put;
put *= 5;
}
return nr;
}
int cautbin(int st, int dr, int n) {
if (st > dr) {
return -1;
}
int mid = (st + dr) / 2;
if (apar(mid) < n) {
return cautbin(mid + 1, dr, n);
} else if (apar(mid) > n) {
return cautbin(st, mid - 1, n);
} else {
return mid;
}
}
int main()
{
ifstream fin("fact.in");
ofstream fout("fact.out");
int P, N;
fin >> P;
if (P == 0) {
N = 1;
} else {
N = cautbin(1, 5 * P, P);
if (N != -1) {
N = N / 5 * 5;
}
}
fout << N;
fin.close();
fout.close();
return 0;
}