Broken Calculator

in last case it shows run time error
#include
using namespace std;
#define MAX 500

int multiply(int x, int res[], int res_size);

void factorial(int n)
{
int res[MAX];

res[0] = 1; 
int res_size = 1; 

for (int x=2; x<=n; x++) 
	res_size = multiply(x, res, res_size); 

for (int i=res_size-1; i>=0; i--) 
	cout << res[i]; 

}
int multiply(int x, int res[], int res_size)
{
int carry = 0;
for (int i=0; i<res_size; i++)
{
int prod = res[i] * x + carry;

	res[i] = prod % 10; 
	carry = prod/10;	 
} 

while (carry) 
{ 
	res[res_size] = carry%10; 
	carry = carry/10; 
	res_size++; 
} 
return res_size; 

}

int main()
{
int n;
cin>>n;
factorial(n);
return 0;
}

@S19PYTN0072 Just define MAX as 1000 instead of 500 and your code will work fine.

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.