Pagini recente » Cod sursa (job #2591108) | Cod sursa (job #1727273) | Cod sursa (job #2949723) | Cod sursa (job #3266901) | Cod sursa (job #198832)
Cod sursa(job #198832)
#include <stdio.h>
int f(int n)
{
if (n==0) return 0;
else return n/5 + f(n/5);
}
int caut(int x)
{
long long l,r,mid;
for (l=1,r=1000000000000LL;l<=r;)
{
mid = (l+r) / 2;
if (f(mid)<x) l = mid+1;
else if (f(mid)>x) r = mid-1 ;
else return mid;
}
return -1;
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
long x;
scanf("%ld",&x);
x = caut(x);
if (x!=-1) for (;x%5;x--);
if (x)printf("%ld",x);
else printf("%ld",1);
}