Consider the following C function:
a. Convert the recursive function into a nonrecursive function. Assume Sigm a () will always be called with a nonnegative argument.
b. Exactly 1 KB of contiguous memory is available for the run-time stack, and addresses and integers are 16 bits wide. How many recursive function calls can be made before the program runs out of memory? Assume no storage is needed for temporary values.