Pagini recente » Cod sursa (job #1840642) | Cod sursa (job #554462) | Cod sursa (job #2115133) | Cod sursa (job #2092221) | Cod sursa (job #1268685)
// FMI - Grupa 135 - Semigrupa 2 - Hareza Andrei
// Include
#include <fstream>
using namespace std;
// Functii
int binarySearch(int left, int right);
bool good(int num);
// Variabile
ifstream in("fact.in");
ofstream out("fact.out");
int num, digits;
// Main
int main()
{
in >> digits;
if(!digits)
{
out << 1;
in.close();
out.close();
return 0;
}
num = binarySearch(1, (int)1e9);
num -= num%5;
if(!num)
out << -1 << '\n';
else
out << num << '\n';
in.close();
out.close();
return 0;
}
int binarySearch(int left, int right)
{
if(left == right)
return left;
int mid = (left + right) / 2;
if(good(mid))
return binarySearch(left, mid);
else
return binarySearch(mid+1, right);
}
bool good(int num)
{
int power = 0, div = 5;
while(num/div)
{
power += num/div;
div *= 5;
}
return power>=digits;
}