Pagini recente » Cod sursa (job #1500737) | Cod sursa (job #1408471) | Cod sursa (job #1726454) | Cod sursa (job #2770691) | Cod sursa (job #2660402)
//Mihai Priboi
#include <stdio.h>
#include <stdlib.h>
int cautbin( int x ) {
int r, pas;
pas = 1 << 28;
r = 0;
while( pas ) {
if( nr_zero(r + pas) < x )
r += pas;
pas /= 2;
}
return r + 1;
}
int nr_zero( int n ) {
int nr;
nr = 0;
while( n >= 5 ){
nr += n / 5;
n /= 5;
}
return nr;
}
int main() {
FILE *fin, *fout;
int n, p;
fin = fopen( "fact.in", "r" );
fscanf( fin, "%d", &p );
fclose( fin );
fout = fopen( "fact.out", "w" );
n = cautbin(p);
fprintf( fout, "%d", nr_zero(n) == p ? n : -1 );
fclose( fout );
return 0;
}