Pagini recente » Cod sursa (job #453752) | Cod sursa (job #2614348) | Cod sursa (job #824125) | Cod sursa (job #787449) | Cod sursa (job #11921)
Cod sursa(job #11921)
#include<stdio.h>
#include<math.h>
long int n,c,b,a,k,p;
long int h(long int x)
{
long int y=0;
while(x)
{
y=y+x/5;
x=x/5;
}
return y;
}
long int divide(long int a,long int b)
{
long int putere;
while(a<b)
{
c=(a+b)/2;
putere=h(c);
if(putere<p) return divide(c,b);
else if(putere>p) return divide(a,c);
else return c;
}
}
int main()
{
FILE *in=fopen("fact.in","rt");
fscanf(in,"%ld",&p);
fclose(in);
FILE *out=fopen("fact.out","wt");
a=0;b=100000000;
k=divide(a,b);
while(k%5) --k;
if(h(k)==p) fprintf(out,"%ld",k);
else fprintf(out,"-1");
fclose(out);
return 0;
}