Pagini recente » Cod sursa (job #889126) | Cod sursa (job #1035692) | Cod sursa (job #742498) | Cod sursa (job #2568405) | Cod sursa (job #326541)
Cod sursa(job #326541)
#include <stdio.h>
#include <math.h>
long long n,p,x;
long long log5(long long n)
{
return floor(log10(n)/log10(5));
}
long long pw(long long k)
{
long long x=5,v=1;
for(; k; k>>=1,x*=x)
if(k%2!=0) v*=x;
return v;
}
long long nr(long long n)
{
long long s=0,i,l=log5(n);
for(i=1; i<=l; i++)
s+=floor(n/pw(i));
return s;
}
int main()
{
long long m,last,i=1,j=1000000000;
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%lld",&p);
if(p==0) {printf("%d",l); return 0;}
for(i=1; i<=j;)
{
m=i+(j-i)/2;
if(p<=nr(m)) last=m,j=m-1;
else i=m+1;
}
printf("%d",last);
return 0;
}