Pagini recente » Cod sursa (job #71873) | Cod sursa (job #647351) | Cod sursa (job #2572296) | Cod sursa (job #649088) | Cod sursa (job #1454375)
#include <fstream>
int trailingZeroes(long n)
{
int powOfFive = 5;
int divRes = n / powOfFive;
int zeroCount = 0;
while (divRes != 0)
{
zeroCount += divRes;
powOfFive *= 5;
divRes = n / powOfFive;
}
return zeroCount;
}
int lowestOkNumber(int reqZeroes)
{
for (int i = 0; ; i += 5)
{
int zeroes = trailingZeroes(i);
if (zeroes == reqZeroes)
{
return i;
}
else if (zeroes > reqZeroes)
{
return -1;
}
}
}
int main()
{
std::ifstream in("fact.in");
int num = 0;
in >> num;
in.close();
std::ofstream out("fact.out");
out << num == 0 ? 1 : lowestOkNumber(num);
out.close();
}