Pagini recente » Cod sursa (job #2932237) | Cod sursa (job #36112) | Cod sursa (job #2801977) | Cod sursa (job #1170287) | Cod sursa (job #1399181)
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int src,Left,Right,Middle,nrCurZero;
int _NrZero(int x)
{
int s = 0;
while( x % 5 == 0 )
{
s += x / 5;
x /= 5;
}
return s;
}
int main()
{
fin>>src;
if( src == 0 )
{
fout<<1;
return 0;
}
Left = 1;
Right = 500000000;
while( Left <= Right )
{
Middle = ( Left + Right ) / 2;
nrCurZero = _NrZero( Middle );
while( nrCurZero == 0 )
{
--Middle;
nrCurZero = _NrZero( Middle );
}
if( nrCurZero == src )
{
fout<<Middle;
return 0;
}
if( nrCurZero > src )
Right = Middle - 5;
else
Left = Middle + 5;
}
fout<<-1;
return 0;
}