Pagini recente » Cod sursa (job #1054850) | Cod sursa (job #1651149) | Cod sursa (job #582550) | Cod sursa (job #2201252) | Cod sursa (job #582357)
Cod sursa(job #582357)
#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("factorial.in","r",stdin);
freopen("factorial.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;
}