Pagini recente » Cod sursa (job #1316604) | Cod sursa (job #2692108) | Cod sursa (job #2325603) | Cod sursa (job #2238059) | Cod sursa (job #41070)
Cod sursa(job #41070)
#include <stdio.h>
FILE *fin,*fout;
unsigned long long s,d,m,i,nr,n,aux;
unsigned long long desc(unsigned long long x)
{unsigned long long au,k=0;
au=x;
while (au/5)
{
k+=au/5;
au/=5;
}
return k;
}
int main()
{char ok;
s=1;
d=4000000000;
fin=fopen("fact.in","rt");
fout=fopen("fact.out","wt");
fscanf(fin,"%lld",&n);
i=0;
if (n!=0)
{
while (s-1!=m)
{
m=(s+d)>>1;
aux=desc(m);
if (aux<n) s=m;
else if (aux>n) d=m;
else if (n==aux) break;
}
ok=1;
while (ok)
{
if (m%5==0) break;
m--;
}
if (m==0) fprintf(fout,"-1\n");
else fprintf(fout,"%lld\n",m);
}
else fprintf(fout,"1\n");
fcloseall();
return 0;
}