#### Previous topic

scipy.misc.face

#### Next topic

scipy.misc.factorial2

# scipy.misc.factorial

`scipy.misc.``factorial`(n, exact=False)

  The factorial of a number or array of numbers.

  The factorial of non-negative integer n is the product of all positive integers less than or equal to n:

      n! = n * (n - 1) * (n - 2) * ... * 1

  Parameters: | n : int or array_like of ints Input values. If `n < 0`, the return value is 0. exact : bool, optional If True, calculate the answer exactly using long integer arithmetic. If False, result is approximated in floating point rapidly using the gamma function. Default is False.
  Returns: | nf : float or int or ndarray Factorial of n, as integer or float depending on exact.

  Notes

  For arrays with `exact=True`, the factorial is computed only once, for the largest input, with each other result computed in the process. The output dtype is increased to `int64` or `object` if necessary.

  With `exact=False` the factorial is approximated using the gamma function:

  \[n! = \Gamma(n+1)\]

  Examples

      >>> from scipy.special import factorial
      >>> arr = np.array([3, 4, 5])
      >>> factorial(arr, exact=False)
      array([   6.,   24.,  120.])
      >>> factorial(arr, exact=True)
      array([  6,  24, 120])
      >>> factorial(5, exact=True)
      120L