Pagini recente » Autentificare | Cod sursa (job #502806) | Cod sursa (job #672085) | Cod sursa (job #2534466) | Cod sursa (job #305433)
Cod sursa(job #305433)
#include<stdio.h>
#include<math.h>
FILE*f=fopen("fact.in","r");
long long p,i,a,b,c,ok,fn;
long long get(long long n)
{
long long k=1,nrz=0;
while(n>=pow(5,k))
{
nrz+=n/(int)pow(5,k);
k++;
}
return nrz;
}
int main()
{
fscanf(f,"%lld",&p);
fclose(f);
f=fopen("fact.out","w");
if(!p) fprintf(f,"1");
else
{
a=1;
b=100000000000000LL;
c=(a+b)/2;
ok=0;
while(a<=c&&c<=b&&!ok)
{
fn=get(c);
if(fn==p)
{
ok=1;
i=c;
}
else
if(fn<p)
a=c+5;
else
b=c-5;
c=(a+b)/2;
}
if(ok) fprintf(f,"%lld",i-i%5);
else fprintf(f,"-1");
}
fclose(f);
return 0;
}