explain the logic to find the factorial of a large number
Factorial problem
Use an array to store each digit of the result after multiplication.
If you still face problem solving it, let me know.
I didn’t get it yet. I know the concept of storing the number, but how do we find the number to be stored?
@ritika_dhamija Hey Ritika, I suggest you to dry run your code. most probably after that your doubt will be cleared.
hey!!
At very first I tried that, yet the concept is unclear. It is bit confusing.
@ritika_dhamija
hey Ritika
Create an array ‘res[ ]’ of MAX size where MAX is number of maximum digits in output.
Initialize value stored in ‘res[ ]’ as 1 and initialize ‘res_size’ (size of ‘res[ ]’) as 1.
Do following for all numbers from x = 2 to n……
a) Multiply x with res[ ] and update res[ ] and res_size to store the multiplication result.
multiply(res[ ], x)
Initialize carry as 0.
Do following for i = 0 to res_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 carrying.
same is given in the editorial it is unclear. I tried to dry run it but I am unable to get the answer. Can you provide video solution or something?
@ritika_dhamija ritika we’re very sorry we don’t have any video on this particular type of problem.
I hope I’ve cleared your doubt. I ask you to please rate your experience here
Your feedback is very important. It helps us improve our platform and hence provide you
the learning experience you deserve.
On the off chance, you still have some questions or not find the answers satisfactory, you may reopen
the doubt.