Pagini recente » Cod sursa (job #556262) | Cod sursa (job #2160872) | Cod sursa (job #2824278) | Cod sursa (job #3040222) | Cod sursa (job #311761)
Cod sursa(job #311761)
#include<stdio.h>
long long b[15],i,p,q,nr,ok,mij,k,x;
long long z(long long a)
{ long long k=0;
while(a) k+=a/5,a/=5;
return k;
}
int main()
{ freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%lld",&nr);
if(nr==0) { printf("1\n");
fclose(stdin);
fclose(stdout);
return 0;
}
b[1]=5;
for(i=2;i<=14;i++) b[i]=5*b[i-1];
p=1;
q=40*nr;
while(!ok&&p<=q) { mij=(p+q)/2;
k=z(mij);
if(nr==k) ok=1;
else if(nr<k)q=mij-1;
else if(nr>k)p=mij+1;
}
while(mij%5!=0) --mij;
if(z(mij)==nr) printf("%lld\n",mij);
else printf("-1\n");
printf("\n");
fclose(stdin);
fclose(stdout);
return 0;
}