Pagini recente » Cod sursa (job #450704) | Cod sursa (job #2715274) | Cod sursa (job #22422) | Cod sursa (job #642396) | Cod sursa (job #522209)
Cod sursa(job #522209)
#include<stdio.h>
FILE *f,*g;
long long p ;
long long nrz( long long m)
{
long long p5;
long long s;
p5 = 5;
s = 0;
while ( m / p5 > 0 )
{
s += m / p5;
p5 *= 5;
}
return s;
}
long long by( long long st, long long dr)
{
long long m;
while( dr > st )
{
m = ( dr + st ) / 2;
long long x = nrz(m);
if (x == p)
{
m -= m % 5;
return m;
}
else if (p > x ) st = m+1;
else if (p <= x ) dr = m-1;
}
return -1;
}
int main()
{
f = fopen("fact.in", "r");
g = fopen("fact.out", "w");
fscanf(f, "%lld", &p);
fprintf(g, "%lld", by( 1, 400000015));
return 0;
}