Pagini recente » Cod sursa (job #2901233) | Cod sursa (job #637003) | Cod sursa (job #373440) | Cod sursa (job #197375) | Cod sursa (job #84943)
Cod sursa(job #84943)
#include<stdio.h>
long fact(long n)
{
long k=0;
long x=5;
while(x<=n)
{
k+=n/x;
x*=5;
}
return k;
}
int main ()
{
FILE *in = fopen ("fact.in","rt");
FILE *out = fopen ("fact.out","wt");
long Nmax;
long P;
fscanf (in,"%d",&P);
long st=1,dr=P*100;
long ok=0;
long c;
while (st!=dr)
{
c=(st+dr)/2;
long fc=fact(c);
if(fc!=P)
{
if(fc<P)
{
st=c+1;
}
else
{
dr=c-1;
}
}
else
{
ok=1;
break;
}
}
if(ok)
{
fprintf(out,"%d",c-c%5);
}
else
{
fprintf(out,"%d",-1);
}
fclose(in);
fclose(out);
return 0;
}