Pagini recente » Cod sursa (job #485542) | Cod sursa (job #271998) | Cod sursa (job #43122) | Cod sursa (job #545990) | Cod sursa (job #11924)
Cod sursa(job #11924)
#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) a=c;
else if(putere>p) b=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=500000000;
k=divide(a,b);
while(k%5) --k;
if(h(k)==p) fprintf(out,"%ld",k);
else fprintf(out,"-1");
fclose(out);
return 1;
}