Pagini recente » Cod sursa (job #2664013) | Cod sursa (job #3231187) | Cod sursa (job #448885) | Cod sursa (job #260931) | Cod sursa (job #326504)
Cod sursa(job #326504)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define in "fact.in"
#define out "fact.out"
#define NMAX (1<<30)
#define minim(a,b) ((a) < (b) ? (a) : (b))
long int N, P;
long int DC, DA, CC, CA, Z;
int main ( void )
{
freopen ( in, "r", stdin );
freopen ( out, "w", stdout );
scanf ( "%ld", &P );
long int i, cpy;
DA = CA = 0;
for ( i = 1; i <= NMAX-5; ++i )
{
cpy = i;
DC = DA, CC = CA;
while ( cpy%2 == 0 ) cpy >>= 1, DC++;
while ( cpy%5 == 0 ) cpy /= 5, CC++;
Z = minim ( CC, DC );
if ( Z == P ) { printf ( "%ld\n", i ); break; }
if ( Z > P ) { printf ("-1\n" ); break; }
DA = DC, CA = CC;
}
return 0;
}