Cod sursa(job #1045849)

Utilizator denisilie94Ilie Denis denisilie94 Data 2 decembrie 2013 10:03:16
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<stdio.h>
int put (int b,int e)
{
int i,r=1;
for(i=1;i<=e;i++){r=r*b;}
return r;
}
int s=0,pp=25,n=0,p,x,cp,i;
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{	while(s<p){s=pp-1;pp*=5;n++;}
			do{x=(p*4*put(5,n))/(put(5,n)-1);
				cp=0;
				for(i=1;i<=n;i++){cp=cp+x/put(5,i);}
				if(cp!=p)x-=5;
			}while(cp!=p);

			fprintf(g,"%d",x);}

fclose(g);
return 0;

}