Pagini recente » Cod sursa (job #50184) | Cod sursa (job #1856766) | Cod sursa (job #1597950) | Cod sursa (job #416733) | Cod sursa (job #629029)
Cod sursa(job #629029)
#include <stdio.h>
long cauta(long start, long stop);
long nrZero(long k);
long p, n;
int main()
{
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
scanf("%ld",&p);
n=cauta(0, p*5);
n-=n%5;
printf("%ld",n);
return 0;
}//main
long cauta(long start, long stop)
{
long mid, z;
while (start<=stop)
{
mid=start+((stop-start)/2);
z=nrZero(mid);
//printf("%ld %ld %ld %ld\n", start, mid, stop, z);
if (z==p)
return mid;
if (p<z)
stop=mid-1;
else
start=mid+1;
}//while
return -1;
}//cauta
long nrZero(long k)
{
long rez=0;
while (k>0)
{
rez+=k/5;
k/=5;
}//while
return rez;
}//nrZero