Pagini recente » Profil banutraul1234567 | Cod sursa (job #2550431) | Cod sursa (job #3167340) | Cod sursa (job #1997629) | Cod sursa (job #2448151)
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
#define MAX_N 50000000
#define MIN_N 1
long long P;
int findTrailingZeros(int N) {
int counter = 0;
for (int i = 5; N / i > 0; i *= 5)
counter += N / i;
return counter;
}
int binSearch(int Left, int Right, long long P) {
int Mid = (Left + Right) / 2;
if (Left > Right)
return -1;
if (P == findTrailingZeros(Mid))
return Mid;
if (P < findTrailingZeros(Mid))
return binSearch(Left, Mid - 1, P);
else
return binSearch(Mid + 1, Right, P);
}
int main() {
fin >> P;
fout << binSearch(MIN_N, MAX_N, P);
}