Pagini recente » Borderou de evaluare (job #2162007) | Cod sursa (job #2512623) | Cod sursa (job #2941703) | Cod sursa (job #2692696) | Cod sursa (job #357605)
Cod sursa(job #357605)
#include<stdio.h>
FILE *f=fopen("fact.in","r");
FILE *g=fopen("fact.out","w");
long long b,a,c,p,k,s,x;
int main()
{
fscanf(f,"%lld",&p);
if(p==0) fprintf(g,"1\n");
else { a=1;
b=x=p*5;
int ok=0;
while(a<=b && !ok)
{
c=(a+b)/2;
k=5;
s=0;
while(k<=c)
{
s=s+c/k;
k=k*5;
}
if(s==p) {x=c;ok=1;}
else if(p<=s) b=c-1;
else a=c+1;
}
if(ok) fprintf(g,"%lld\n",x-x%5);
else fprintf(g,"-1\n");
}
fclose(f);
fclose(g);
return 0;
}