How should i approach this problem?
I know that none of the primitive data types can store the factorial of large numbers.
Broken Calculator
@Raunak-Agrawal-1537545869717573 Hi bro you can use an array for sure in this question!
The algorithm steps will be :-
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.
Also if your query is resolved, close the doubt my marking it resolved and rate full!
Happy Coding!