Pagini recente » Cod sursa (job #379450) | Cod sursa (job #2330695) | Cod sursa (job #67368) | Cod sursa (job #1431311) | Cod sursa (job #1793402)
#include <iostream>
#include <algorithm>
#include <fstream>
#include <vector>
#include <string>
#include <iterator>
#include <numeric>
#include <string>
#include <set>
#include <map>
#include <queue>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int GetZeros(int number)
{
int total = 0;
while(number >= 5)
{
total += number / 5;
number /= 5;
}
return total;
}
int main()
{
int number;
in >> number;
long long left = 0;
long long right = 400000000;
long long mid;
bool found = false;
while(left < right)
{
mid = (left + right) >> 1;
int zeros = GetZeros(mid);
if(number < zeros)
right = mid - 1;
else if (number > zeros)
left = mid + 1;
else
{
found = true;
break;
}
}
if(found)
out << mid - mid % 5 + (mid < 5);
else
out << -1;
return 0;
}