Pagini recente » Cod sursa (job #2101310) | Cod sursa (job #2194855) | Cod sursa (job #871355) | Cod sursa (job #1906669) | Cod sursa (job #40413)
Cod sursa(job #40413)
#include <stdio.h>
int main()
{
int k,k1=0,k2=0,kt,km,kmd,k1i,k2i,parc=0;
FILE *in=fopen("fact.in","r");
FILE *out=fopen("fact.out","w");
fscanf(in,"%d",&k);
fclose(in);
if (k)
{
k1=k; kt=k1;
k2=k1;
while (kt>0)
{
k2-=kt/5;
kt/=5;
}
km=(k1+k2)/2-(k1+k2)%2;
k1i=k1; k2i=k2;
kmd=0; kt=km;
while (kt>0)
{
kmd+=kt/5;
kt/=5;
}
while (km+kmd!=k && (k1!=k1i || k2!=k2i) || !parc)
{
if (km+kmd>k)
k1=km+kmd;
else
k2=km+kmd;
km=(k1+k2)/2-(k1+k2)%2;
kmd=0; kt=km;
while (kt>0)
{
kmd+=kt/5;
kt/=5;
}
parc=1;
}
if (km+kmd==k)
fprintf(out,"%d\n",km*5);
else
fprintf(out,"-1\n");
}
else
fprintf(out,"1\n");
fclose(out);
return 0;
}