/* File: evensum.c A simple recursive function to compute the sum of the elements of an array. */ #include int EvenSum (int A[], int low, int high) { int part1, part2, mid ; if (high < low) return 1 ; if (low == high) return (1 - A[low] % 2) ; mid = (low + high) / 2 ; part1 = EvenSum(A, low, mid) ; part2 = EvenSum(A, mid+1, high) ; if (part1 == 1 && part2 == 1) return 1 ; if (part1 == 0 && part2 == 0) return 1 ; return 0 ; } main(){ int A[5] = {1, 4, 9, 3, 2} ; int B[7] = {1, 2, 3, 4, 5, 6, 7} ; int s ; s = EvenSum(A, 0, 4) ; printf("EvenSum(A, 0, 4) returned %d\n", s) ; s = EvenSum(B, 0, 6) ; printf("EvenSum(B, 0, 6) returned %d\n", s) ; }