Pagini recente » Cod sursa (job #595739) | Cod sursa (job #846432) | Cod sursa (job #2770683) | Cod sursa (job #1953508) | Cod sursa (job #2585653)
#include <iostream>
#include <climits>
#include <fstream>
using namespace std;
bool check(int p, int n)
{
int c = 0;
for (int i = 5; i <= p; i *= 5) {
c += p / i;
if (c == n)
return 1;
}
return 0;
}
int findNum(int n)
{
if (n == 0)
return 1;
else if (n == 1)
return 5;
int low = 0, high = 5 * n;
while (low < high) {
int mid = (low + high) / 2;
if (check(mid, n))
high = mid;
else
low = mid + 1;
}
return low;
}
int main()
{
int n;
ifstream fin("fact.in");
fin >> n;
ofstream fout("fact.out");
fout << findNum(n);
return 0;
}