Pagini recente » Cod sursa (job #419217) | Cod sursa (job #2425275) | Cod sursa (job #77892) | Cod sursa (job #196648) | Cod sursa (job #6045)
Cod sursa(job #6045)
#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 );
return 13;
}