Pagini recente » Cod sursa (job #1452136) | Cod sursa (job #1879291) | Cod sursa (job #2060557) | Cod sursa (job #1017416) | Cod sursa (job #579829)
Cod sursa(job #579829)
#include <stdio.h>
FILE *fin,*fout;
long q;
long nr0(long k)
{
long s=0;
s+=k/5;
s+=k/25;
s+=k/125;
s+=k/625;
s+=k/3125;
s+=k/15625;
s+=k/78125;
s+=k/390625;
s+=k/1953125;
s+=k/9765625;
s+=k/48828125;
s+=k/244140625;
s+=k/1220703125;
return s;
}
int main()
{
long i,j;
fin=fopen("fact.in","rt");
fout=fopen("fact.out","wt");
fscanf(fin,"%ld",&q);
i=1;
j=q*5;
while (j-i>10)
{
if (nr0((i+j)/2)<q) i=(i+j)/2;
else j=(i+j)/2;
}
i-=1000;
if (i<=0) i=1;
for (;nr0(i)<q;i++);
if (nr0(i)!=q) fprintf(fout,"-1\n");
else fprintf(fout,"%ld\n",i);
fclose(fin);
fclose(fout);
return 0;
}