// Factorial Calculator By Mehrdad Jamali 86442125.
// http://mehrdad.znuclub.com
// jamali.mehrdad@gmail.com
# include <stdio.h>
# include <conio.h>
# include <math.h>
float getex(double);
main()
{
 int i,n;
 double s=0.0,a,b;
 clrscr();
 printf("*** Factorial Calculator *** \n.:: Mehrdad Jamali ::. Stu#:86442125 \n--------------------------------\n");
 printf("Please enter N to Calculate N! :");
 scanf("%d",&n);
 if (n>=0)
 {
  printf("\nPlease wait , calculating ...\n");
 // calculating s = Siq (i=1 to n) [ Log i ]
   for (i=1;i<=n;i++)
        s+=log10(i);
        b = floor(s);
 // End of Calculating S
    a = getex(s-b);
    printf("\n\n\n   Result: %d!  ~=  %5.4f e+%d\n\n-----------\n",n,a,(int)(b));
    printf("[[[   Please enter any key to exit ...   ]]]");
 }
 else
  {
     clrscr();
     printf("Invalid arrgument found ,\n [[[   please enter any key to exit ... ]]]");
  }
 getch();
}
float getex(double p)
{
 float r;
   r = pow(10,p);
 return r;
}