Pagini recente » Cod sursa (job #492956) | Mihnea Andreescu | Cod sursa (job #2073969) | Istoria paginii winter-challenge-2020 | Cod sursa (job #582364)
Cod sursa(job #582364)
#include<stdio.h>
#include<math.h>
long long ok(long long med)
{
long long pt=5,z=0;
while(med/pt!=0)
{
z=z+med/pt;
pt=pt*5;
}
return z;
}
long long bs(long long st, long long dr, long long p)
{
long long med,last=-1;
while(st<=dr)
{
med=st+(dr-st)/2;
if(ok(med)<p)
st=med+1;
else
{
last=med;
dr=med-1;
}
}
return last;
}
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
long long p,sol,st=1,dr=1<<60;
scanf("%lld",&p);
sol=bs(st,dr,p);
printf("%lld",sol);
return 0;
}