Pagini recente » Cod sursa (job #2892481) | Cod sursa (job #2301271) | Cod sursa (job #2629907) | Cod sursa (job #2152035) | Cod sursa (job #522206)
Cod sursa(job #522206)
#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;
m = ( dr + st ) / 2;
long long x = nrz(m);
if (x == p && nrz(m-1) < p ) return m;
else if (p > x ) return by(m+1,dr);
else if (p <= x ) return by(st,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;
}