Pagini recente » Rating Vasilica Ionica (testt) | Cod sursa (job #534331) | Cod sursa (job #1436612) | Cod sursa (job #1551239) | Cod sursa (job #311214)
Cod sursa(job #311214)
#include<stdio.h>
long long b[13],i,p,q,nr,ok,mij,k,x;
long long z(long long a,long long i1)
{ if(b[i1]<a) return a/b[i1]+ z(a,i1+1);
else return 0;
}
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<=12;i++) b[i]=5*b[i-1];
p=1;
q=5*nr;
while(!ok&&p<=q) { mij=(p+q)/2;
k=z(mij,1);
if(nr==k) ok=1;
else if(nr<k)q=mij-1;
else if(nr>k)p=mij+1;
}
while(mij%5!=0) --mij;
k=z(mij,1);
if(k==nr) printf("%lld\n",mij);
else printf("-1\n");
printf("\n");
fclose(stdin);
fclose(stdout);
return 0;
}