Pagini recente » Cod sursa (job #716158) | Cod sursa (job #331413) | Cod sursa (job #622324) | Cod sursa (job #2057575) | Cod sursa (job #6050)
Cod sursa(job #6050)
#include <fstream.h>
#include <math.h>
ifstream fin( "fact.in" );
ofstream fout( "fact.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, log );
fout << cauta( k, 5*k );
fout << "\n";
return 0;
}