Pagini recente » Cod sursa (job #1024961) | Cod sursa (job #3271829) | Cod sursa (job #983304) | Cod sursa (job #2888290) | Cod sursa (job #305443)
Cod sursa(job #305443)
#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=0;
b=10000000000LL;
c=a+((b-a)/2);
ok=0;
while(a<b-1&&!ok)
{
fn=get(c);
if(fn==p)
{
ok=1;
i=c;
}
else
if(fn<p)
a=c;
else
b=c;
c=a+((b-a)/2);
}
if(ok) fprintf(f,"%lld",i-i%5);
else fprintf(f,"-1");
}
fclose(f);
return 0;
}