Pagini recente » Cod sursa (job #1639079) | Cod sursa (job #1596548) | Cod sursa (job #2287072) | Cod sursa (job #2103644) | Cod sursa (job #129566)
Cod sursa(job #129566)
#include <stdio.h>
long p,low,mid,high,p5,nr0;
int main(){
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%ld",&p);
if (p==0){printf("1\n");return 0;}
low=1;
high=2000000000;
while (low<high){
mid = (low + high)/2;
p5=5;nr0=0;
while (p5<mid){
nr0+=mid/p5;
p5*=5;
}
if (nr0 < p){
low = mid + 1;
}
else
high = mid;
}
p5=5;nr0=0;
while (p5<low){
nr0+=low/p5;
p5*=5;
}
while (low%5)low--;
if (low <2000000000 && nr0==p)
printf("%ld\n",low);
else printf("-1\n");
return 0;
}