Pagini recente » Borderou de evaluare (job #2735345) | Borderou de evaluare (job #369785) | Cod sursa (job #3184151) | Borderou de evaluare (job #260438) | Cod sursa (job #2325883)
#include <fstream>
using namespace std;
ifstream cin ("fact.in");
ofstream cout ("fact.out");
int zeros (int n)
{
int answer = 0;
long long p = 5;
while (n / p)
{
answer += n / p;
p *= 5;
}
return answer;
}
int main()
{
int p;
cin >> p;
if (p == 0)
{
cout << 1;
return 0;
}
int _left = 1;
int _right = 5 * p;
while (_left <= _right)
{
int middle = (_left + _right) / 2;
if (zeros (middle) < p)
_left = middle + 1;
else if (zeros (middle) > p)
_right = middle - 1;
else
{
cout << middle - middle % 5 << '\n';
return 0;
}
}
return 0;
}