Pagini recente » Cod sursa (job #1142851) | Cod sursa (job #1810851) | Cod sursa (job #1554810) | Cod sursa (job #2036711) | Cod sursa (job #1046295)
#include<stdio.h>
int put (int b,int e)
{
int i,r=1;
for(i=1;i<=e;i++){r=r*b;}
return r;
}
long int s=0,pp=5,p,x,cp;
int i,n;
FILE *f,*g;
int main ()
{
f=fopen("fact.in","r");
fscanf(f,"%d",&p);fclose(f);
g=fopen("fact.out","w");
if(p==0)fprintf(g,"%d",1);
else if(p==1)fprintf(g,"%d",5);
else{ do{s=s+pp-1;pp*=5;n++;}while(s<p);
x=4*p*put(5,n)/(put(5,n)-1);
if(x%10<5){x=x-x%10+5;}
else{x=x-x%10+10;}
for(i=1;i<=n;i++){cp=cp+x/put(5,i);}
while((cp!=p)&&(x<4*(p+n-1)*put(5,n)/(put(5,n)-1))){
x+=5;
cp=0;
for(i=1;i<=n;i++){cp=cp+x/put(5,i);}}
if(cp==p)fprintf(g,"%d",x);
else fprintf(g,"%d",1);
}
fclose(g);
return 0;
}