Pagini recente » Cod sursa (job #1314071) | Cod sursa (job #2601446) | Cod sursa (job #1235865) | Cod sursa (job #2303628) | Cod sursa (job #2664607)
#include <stdio.h>
#include <stdlib.h>
#define MAXP 100000000
int val( int n ) {
int cnt, p5;
p5 = 5;
cnt = 0;
while( p5 <= n ) {
cnt += ( n / p5 );
p5 *= 5;
}
return cnt;
}
int main() {
FILE *fin, *fout;
int p, st, dr, mijl;
fin = fopen( "fact.in", "r" );
fscanf( fin, "%d", &p );
fclose( fin );
st = 0;
dr = MAXP + 1;
while( dr - st > 1 ) {
mijl = ( st + dr ) / 2;
if( val( mijl ) >= p )
dr = mijl;
else
st = mijl;
}
fout = fopen( "fact.out", "w" );
if( p == val( dr ) )
fprintf( fout, "%d", dr );
else
fprintf( fout, "-1" );
fclose( fout );
return 0;
}