Pagini recente » Cod sursa (job #1103969) | Cod sursa (job #1291858) | Cod sursa (job #2671229) | Cod sursa (job #1304893) | Cod sursa (job #2602092)
#include <cstdio>
#include <climits>
using namespace std;
const long long INF = LLONG_MAX;
long long lagrange(long long n)
{
long long p = 5 , nr = 0;
while(p <= n)
{
nr = nr + n / p;
p = p * 5;
}
return nr;
}
long long bs(long long k)
{
long long st , dr , med , last;
st = 1;
dr = INF;
while(st <= dr)
{
med = (st + dr) / 2;
if(lagrange(med) == k)
return med;
else if(lagrange(med) > k)
dr = med - 1;
else
st = med + 1;
}
return last;
}
int main()
{
freopen("fact.in" , "r" , stdin);
freopen("fact.out" , "w" , stdout);
long long n , nr;
scanf("%lld" , &n);
nr = bs(n);
nr = nr - nr % 5;
printf("%lld\n" , nr);
return 0;
}