#include #include #include #include #define MaxY 8120 int far *k,*y,*z; int x[4]; void multiply(void); void Fact(int); /*************************By Maysam Rajaby************************* **************************************************************************/ void main(){ int f; y=(int*)farcalloc(MaxY,sizeof(int)); if(y==NULL) exit(1); k=(int*)farcalloc(MaxY*4,sizeof(int)); if(k==NULL) exit(1); k=(int*)farcalloc(MaxY*4,sizeof(int)); clrscr(); cout << "\n Enter a Number :"; cin >> f; Fact(f); farfree(y); farfree(k); } /***************************WWW.Dehkhoda-software.blogfa.com****************** **************************************************************************/ void Fact(int f){ int i,j,t,tmp; y[MaxY]=1; for(i=1;i<=f;i++){ tmp=i; t=3; while(tmp!=0){ x[t--]=tmp%10; tmp/=10; } multiply(); } cout<<"\n\n Value = "; for(i=0;i=0;i--) for(j=MaxY;j>=0;j--){ tmp=(x[i]*y[j])+c; c=0; while(tmp>=10){ c++; tmp-=10; } if(j==MaxY) z1=z--; k[(i*MaxY)+z1--]=tmp; } c=0; for(j=MaxY;j>=0;j--){ for(i=0;i<4;i++) tmp+=k[(i*MaxY)+j]; tmp+=c; c=0; while(tmp>=10){ c++; tmp-=10; } y[j]=tmp; tmp=0; } }