Pagini recente » Cod sursa (job #353228) | Cod sursa (job #2859093) | Cod sursa (job #1390987) | Cod sursa (job #283045) | Cod sursa (job #6046)
Cod sursa(job #6046)
#include <fstream.h>
#include <math.h>
ifstream fin( "factorial.in" );
ofstream fout( "factorial.out" );
int p;
int numarDeZerouri( int n )
{
int numar = 0;
while( n )
{
numar += (n/5);
n = (n/5);
}
return numar;
}
int cauta( int s, int d )
{
int m = (s+d)/2;
if( s == d )
return s;
else
{
int nrs = cauta( s, m );
int nrd = cauta( m+1, d );
return ( numarDeZerouri(nrs) == p ) ? nrs : nrd;
}
}
int main()
{
fin >> p;
float log = (float)( log10(4*p + 1) / log10( 5 ) );
int k = (int)pow( 5, (int)(log) );
fout << cauta( k, 5*k );
fout << "\n";
fout.close();
return 0;
}