Cody

# Problem 660. Find a subset that divides the vector into equal halves

Solution 2004479

Submitted on 6 Nov 2019
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Pass
x = [1 2 3 4 5 6 7]; xi = split_it(x); assert(isequal(sum(x(xi)),sum(x)/2));

l = 14 ans = 1 ans = 2 ans = 3

2   Pass
x = [2 2 2 2 2 2]; xi = split_it(x); assert(isequal(sum(x(xi)),sum(x)/2));

l = 6 ans = 1 2 3 4 5 6 ans = 1 2 3 4 5 6 ans = 1 2 3 4 5 6

3   Fail
x = [2 5 4 5 4]; xi = split_it(x); assert(isequal(sum(x(xi)),sum(x)/2));

l = 10 ans = 1 ans = 2 3 ans = 2 3

Assertion failed.

4   Fail
x = [1 3 1 1 9 7]; xi = split_it(x); assert(isequal(sum(x(xi)),sum(x)/2));

l = 11 ans = 1 ans = 2 5 6 ans = 3

Index exceeds the number of array elements (6). Error in Test4 (line 3) assert(isequal(sum(x(xi)),sum(x)/2));

5   Fail
x = primes(100); xi = split_it(x); assert(isequal(sum(x(xi)),sum(x)/2));

l = 530 ans = 10 ans = 23 ans = 4 ans = 3 ans = 15 ans = 17 ans = 19 ans = 20 ans = 22 ans = 2 ans = 1 ans = 8 ans = 14 ans = 13 ans = 7 ans = 6 ans = 16 ans = 18 ans = 21 ans = 5 ans = 9 ans = 24

Index exceeds the number of array elements (25). Error in Test5 (line 3) assert(isequal(sum(x(xi)),sum(x)/2));