Pagini recente » Cod sursa (job #324945) | Cod sursa (job #2911947) | Cod sursa (job #96732) | Cod sursa (job #2104765) | Cod sursa (job #1733938)
#include<stdio.h>
long long p,k,i,n;main(){freopen("fact.in","r",stdin);freopen("fact.out","w",stdout);scanf("%lld",&p);if(!p){printf("1");return 0;}
long long fact=1,sum=0,t1,t2;
for(;sum<p;)sum+=fact,fact*=5;
for(t1=fact/5,t2=fact,k=sum;t1<t2-1;){
for(i=5,k=0;i<=(t1+t2)/2;i*=5)k+=(t1+t2)/2/i;
if(k<p)t1=(t1+t2)/2;
else t2=(t1+t2)/2;
}
for(i=5,k=0;i<=t2;i*=5)k+=t2/i;
printf("%lld",k==p?t2:-1);}