Pagini recente » Cod sursa (job #251073) | Cod sursa (job #1397201) | Cod sursa (job #647752) | Cod sursa (job #3138291) | Cod sursa (job #147747)
Cod sursa(job #147747)
#include <stdio.h>
FILE *f=fopen("factorial.in","r"), *g=fopen("factorial.out","w");
long p;
long long a,b;
long long binar(long long x)
{
long long k=0,t;
t=x;
while (t)
{
k+=t/5;
t/=5;
}
if (k<p) a=x+1;
if (k>p) b=x-1;
if ((k==p)&&(x%5==0)) {
a=x;
return 0;
}
else if (k==p) b=x-1;
if ((k!=p)&&(b==x)) {
a=-1;
return 0;
}
return binar((a+b)/2);
}
int main()
{
fscanf(f,"%ld",&p);
if ((p==0) || (p==1))
{
if (p==0) fprintf(g,"1\n");
else fprintf(g,"5\n");
}
else
{
a=0;
b=10000000000;
binar((a+b)/2);
fprintf(g,"%lld\n",a);
}
fclose(g);
return 0;
}