Problem 1. num1 = 3, num2 = 2 result = 0 i = 1, j = 1, result = 3 i = 1, j = 2, result = 6 i = 2, j = 1, result = 9 i = 2, j = 2, result = 12 i = 3, j = 1, result = 15 i = 3, j = 2, result = 18 Output: 18 In general, the body of the inner loop executes num1*num2 times. Therefore, when program1(25, 20) is called, the body of the inner loop is executed 500 times. The variable result starts off at 0 and increases by 3 with each execution and therefore reaches 1500 when the function ends. ------------------------------- Problem 2. result = 0, n = 16 result = 2, n = 8 result = 4, n = 4 result = 6, n = 2 result = 8, n = 1 Output: 8 ------------------------------- Problem 3. test3 test3helper n = 3 ----- 4 -----> n = 4 temp = 16 Output: 4 Output: 16 <---- 20 ----- temp = 20 Output: 3 Output: 20 n = 1 ---- 2 ----> n = 2 temp = 4 Output: 2 Output: 4 <--- 8 ---- temp = 8 Output: 1 Output: 8 n = -1 So the output is 4 16 3 20 2 4 1 8