Pagini recente » Cod sursa (job #601991) | Cod sursa (job #358902) | Cod sursa (job #920692) | Cod sursa (job #2766473) | Cod sursa (job #41078)
Cod sursa(job #41078)
#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 (d-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;
if (aux==n)
while (ok)
{
if (m%5==0) break;
m--;
}
else m=0;
if (m!=0) fprintf(fout,"%lld\n",m);
else fprintf(fout,"-1\n");
}
else fprintf(fout,"1\n");
fcloseall();
return 0;
}