Pagini recente » Cod sursa (job #2211755) | Cod sursa (job #2871232) | Cod sursa (job #80955) | Cod sursa (job #2843272) | Cod sursa (job #6047)
Cod sursa(job #6047)
#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";
return 0;
}