Pagini recente » Cod sursa (job #1159463) | Cod sursa (job #577993) | Cod sursa (job #665666) | Cod sursa (job #1156910) | Cod sursa (job #95001)
Cod sursa(job #95001)
#include <stdio.h>
long gas,c,k,p,nr,a,b;
FILE *f1,*f2;
int main()
{
f1=fopen("fact.in","r");
f2=fopen("fact.out","w");
fscanf(f1,"%ld",&p);
a=0;b=2000000000;gas=0;
while (b-a>1)
{
c=nr=(a+b)/2;
k=0;
while (c>0)
{
k=k+c/5;
c=c/5;
}
if (k==p)
{
gas=1;
break;
}
else
if (k<p)
a=nr;
else
b=nr;
}
if (gas)
{
gas=0;
while (gas==0 && nr>1)
{
gas=1;
a=nr;
a--;
k=0;
while (a>0)
{
k=k+a/5;
a=a/5;
}
if (k==p)
{
gas=0;
nr--;
}
}
fprintf(f2,"%ld",nr);
}
else fprintf(f2,"-1");
return 0;
}