Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

/** * PROBLEM 1: Translate the following summing function from iterative to * re

ID: 3717681 • Letter: #

Question

/** * PROBLEM 1: Translate the following summing function from iterative to * recursive. * * You should write a helper method. You may not use any "fields" to solve * this problem (a field is a variable that is declared "outside" of the * function declaration --- either before or after). * * Precondition: a list of ints, - maybe empty! * Postcondition: the sum of the odd values is returned */ public static int sumOfOdds (int[] a) { int result = 0; int i = 0; while (i < a.length) { if ( a[i] %2 == 1) result = result + a[i]; i = i + 1; } return result; } public static int sumOfOddsRecursive (int[] a) { return sumOfOddsHelper(a,a.length); // TODO 1 replace this by a call to your helper function, then write the helper function below }

Explanation / Answer

public static int sumOfOddsRecursive(int[] a) { return sumOfOddsHelper(a, a.length); // TODO 1 replace this by a call to your helper function, then write the helper function below } private static int sumOfOddsHelper(int[] a, int length) { if(length > 0) { if(a[length-1] % 2 == 1) { return a[length-1] + sumOfOddsHelper(a, length-1); } else { return sumOfOddsHelper(a, length-1); } } else { return 0; } }