Factorial of big numbers

what should be the approach to find factorial of big number?

hi @rksrajneeshsah
Factorial of 100 has 158 digits. It is not possible to store these many digits even if we use long long int.
use an array to store individual digits of the result

factorial(n)

  1. Create an array ‘res[]’ of MAX size where MAX is number of maximum digits in output.
  2. Initialize value stored in ‘res[]’ as 1 and initialize ‘size’ (size of ‘res[]’) as 1.
  3. Do following for all numbers from x = 2 to n.
    ……a) Multiply x with res[] and update res[] and size to store the multiplication result

How to multiply a number ‘x’ with the number stored in res[]?

multiply(res[], x)

  1. Initialize carry as 0.
  2. Do following for i = 0 to size – 1
    ….a) Find value of res[i] * x + carry. Let this value be prod.
    ….b) Update res[i] by storing last digit of prod in it.
    ….c) Update carry by storing remaining digits in carry.
  3. Put all digits of carry in res[] and increase res_size by number of digits in carry.

i hope this helps
try to implement
if you have any doubt or not understand any point in this appraoach
feel free to ask