Pagini recente » Cod sursa (job #2098983) | Cod sursa (job #2183687) | Solutii Autumn Warmup, Runda 3 | Cod sursa (job #1897979) | Cod sursa (job #2631776)
#include <bits/stdc++.h>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
bool check(int, int);
int main()
{
int n, rez;
f >> n;
int st = 0, dr = INT_MAX;
while (st <= dr)
{
int mid = st + (dr - st) / 2;
if (check(mid, n))
rez = mid, dr = mid - 1;
else
st = mid + 1;
}
g << rez;
return 0;
}
bool check(int nr, int mn)
{
int n2 = 0;
for (int t = 2; nr / t > 0; t *= 2)
n2 += nr / t;
int n5 = 0;
for (int t = 5; nr / t > 0; t *= 5)
n5 += nr / t;
return min(n2, n5) >= mn;
}