Pagini recente » Cod sursa (job #222684) | Cod sursa (job #998470) | Cod sursa (job #2163531) | Cod sursa (job #2057430) | Cod sursa (job #294772)
Cod sursa(job #294772)
#include<stdio.h>
long put(long a, int p)
{
long x=a;
a=1;
for(int i=0; i<p; i++)
a*=x;
return a;
}
long numar_zerouri(long a)
{
long n5=a/5;
long m;
int i;
for(i=2; i<8; i++)
{
m=put(5,i);
n5+=a/m;
}
return n5;
}
int main()
{
long p,n;
int i,j;
freopen("fact.in","r",stdin);
scanf("%ld",&p);
fclose(stdin);
freopen("fact.out","w",stdout);
if(p==0) { printf("1"); fclose(stdout); return 0; }
int lo,hi,mid,last=-1,t;
for(lo=1, hi=12000; lo <= hi;)
{
mid = lo+(hi-lo)/2;
t = numar_zerouri(mid);
if(t == p)
{
while(t==p)
t=numar_zerouri(mid--);
last=mid+2;
break;
}
if(t<p) last = mid, lo = mid+1;
else hi=mid+1;
}
printf("%d",last);
fclose(stdout);
return 0;
}