Pagini recente » Cod sursa (job #1400706) | Cod sursa (job #2748750) | Cod sursa (job #2723267) | Cod sursa (job #3159415) | Cod sursa (job #2554103)
#include<iostream>
#include<fstream>
#include<limits.h>
#define fin "fact.in"
#define fout "fact.out"
int find_nr_0(int n)
{
int aux = 5;
int nr = 0;
while (n >=aux)
{
nr += n / aux;
aux *= 5;
}
return nr;
}
int find_number(int n)
{
if (n == 0)
{
return 0;
}
int left = 1, right = 2000000000;
while (left<right)
{
int m = (left + right) / 2;
int aux = find_nr_0(m);
if (aux == n)
{
return m-m%5;
}
else
{
if ( aux < n)
{
left = m + 1;
}
else
{
right = m - 1;
}
}
}
return -1;
}
int main()
{
std::fstream in;
int n;
in.open(fin, std::ios::in);
in >> n;
in.close();
std::fstream out;
out.open(fout,std::ios::in);
std::cout << find_number(n);
out << find_number(n);
out.close();
return 0;
}