Pagini recente » Cod sursa (job #1373582) | Cod sursa (job #3274969) | Cod sursa (job #2200729) | Cod sursa (job #631467) | Cod sursa (job #38660)
Cod sursa(job #38660)
#include <stdio.h>
FILE *f;
long a[16],i;double l,x=1,y=3000000000,s,n;
int main()
{f=fopen("fact.in","r");fscanf(f,"%lf",&n);fclose(f);
a[1]=5;a[2]=25;a[3]=125;a[4]=625;a[5]=3125;a[6]=15625;a[7]=78125;
a[8]=390625;a[9]=1953125;a[10]=9765625;a[11]=48828125;
while(s!=n&&x!=y)
{l=(x+y)/2;s=0;
for(i=1;i<=11;i++)s+=l/a[i];
if(s<n)x=l+1;else if(s>n)y=l-1;
}
f=fopen("fact.out","w");
if(s==n)
{while(s==n){s=0;l--;for(i=1;i<=11;i++)s+=l/a[i];}l++;s=n;}
if(s==n)fprintf(f,"%lf",l);else fprintf(f,"-1");
fclose(f);
return 0;
}