Question: NEED help converting this C++ program to ARM assembler PLEASE!!! // C++ program to compute factorial of big numbers #include using namespace std; // Maximum

NEED help converting this C++ program to ARM assembler PLEASE!!!

// C++ program to compute factorial of big numbers

#include

using namespace std;

// Maximum number of digits in output

#define MAX 500

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

// This function finds factorial of large numbers

// and prints them

void factorial(int n)

{

int res[MAX];

// Initialize result

res[0] = 1;

int res_size = 1;

// Apply simple factorial formula n! = 1 * 2 * 3 * 4...*n

for (int x = 2; x <= n; x++)

res_size = multiply(x, res, res_size);

cout << "Factorial of given number is ";

for (int i = res_size - 1; i >= 0; i--)

cout << res[i];

}

// This function multiplies x with the number

// represented by res[].

// res_size is size of res[] or number of digits in the

// number represented by res[]. This function uses simple

// school mathematics for multiplication.

// This function may value of res_size and returns the

// new value of res_size

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

{

int carry = 0; // Initialize carry

// One by one multiply n with individual digits of res[]

for (int i = 0; i

{

int prod = res[i] * x + carry;

// Store last digit of 'prod' in res[]

res[i] = prod % 10;

// Put rest in carry

carry = prod / 10;

}

// Put carry in res and increase result size

while (carry)

{

res[res_size] = carry % 10;

carry = carry / 10;

res_size++;

}

return res_size;

}

// Driver program

int main()

{

factorial(100);

cin.get();

return 0;

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!