Pagini recente » Cod sursa (job #1703963) | Cod sursa (job #1536719) | Cod sursa (job #2262495) | Cod sursa (job #750883) | Cod sursa (job #2077574)
#include <stdio.h>
#include <stdlib.h>
#define MAXN 4294967296
int cinci( long long nr ) {
long long i;
int nrc = 0;
for ( i = 5; i <= nr; i *= 5 )
nrc += ( nr / i );
return nrc;
}
long long cautareBinara( int p ) {
long long r, pas;
r = 1;
pas = 1 << 30;
pas *= 4;
while ( pas != 0 ) {
if ( cinci( r + pas ) < p )
r += pas;
pas /= 2;
}
if ( cinci( r + 1 ) == p )
return r + 1;
return -1;
}
int main() {
FILE *fin, *fout;
int p;
fin = fopen( "fact.in", "r" );
fout = fopen( "fact.out", "w" );
fscanf( fin, "%d", &p );
if ( p == 0 )
fprintf( fout, "1" );
else
fprintf( fout, "%lld", cautareBinara( p ) );
fclose( fin );
fclose( fout );
return 0;
}