Pagini recente » Cod sursa (job #1036439) | Cod sursa (job #2557597) | Cod sursa (job #1752367) | Cod sursa (job #275503) | Cod sursa (job #522208)
Cod sursa(job #522208)
#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 && nrz(m-1) < p ) 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;
}