Pagini recente » Cod sursa (job #768406) | Cod sursa (job #2525451) | Cod sursa (job #244381) | Cod sursa (job #312462) | Cod sursa (job #296221)
Cod sursa(job #296221)
#include <stdio.h>
int main()
{long long int x,st,dr,k,i,s,v[1000],nr;
freopen("factorial.in","r",stdin);
freopen("factorial.out","w",stdout);
scanf("%lld",&k);
if (k<=4) printf("%lld",k*5); else
{
st=0;dr=k*5;nr=1;v[nr]=5;
for( ; ;)
{
if (dr==st+1) {printf("-1"); break;}
s=0;x=(st+dr)/2;
for (;v[nr]*5<=x;nr+=1,v[nr]=v[nr-1]*5) {}
for (i=1;i<=nr;i++)
s+=x/v[i];
if (s==k) {printf("%lld",(x/5)*5); break;} else
if (k<s) dr=x; else
if (k>s) st=x;
}
}
return 0;}