Pagini recente » Cod sursa (job #2046842) | Cod sursa (job #2483482) | Cod sursa (job #2836179) | Cod sursa (job #1541961) | Cod sursa (job #38658)
Cod sursa(job #38658)
#include <stdio.h>
FILE *f;
long a[16],i;long double l,x,y,s,n;
int main()
{f=fopen("fact.in","r");fscanf(f,"%ld",&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;x=1;y=5000000000;
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;
}