Pagini recente » Cod sursa (job #2215625) | Cod sursa (job #2111692) | Cod sursa (job #1942155) | Cod sursa (job #2610370) | Cod sursa (job #38638)
Cod sursa(job #38638)
#include <stdio.h>
FILE *f;
long long a[16],i,n,s,l,x,y;
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=1000000000;
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,"%ld",l);else fprintf(f,"-1");
fclose(f);
return 0;
}