Pagini recente » Cod sursa (job #2207198) | Cod sursa (job #1100504) | Cod sursa (job #1756289) | Cod sursa (job #1760834) | Cod sursa (job #2614444)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int NumberOfZeros(int number) {
int denominator = 5;
int numberOfZeros = 0;
while (denominator <= number) {
numberOfZeros += number / denominator;
denominator *= 5;
}
return numberOfZeros;
}
int main() {
int P; // reprezinta numarul de zerouri
fin >> P;
int left = 1;
int right = 100000000;
while (left <= right) {
int mid = (left + right) >> 1;
int zeros = NumberOfZeros(mid);
if (P == zeros) {
if (P >= 10) {
mid -= mid % 5;
}
fout << mid;
return 0;
} else if (P < mid) {
right = mid - 1;
} else {
left = mid + 1;
}
}
fout << -1;
fin.close();
fout.close();
return 0;
}