Cody

# Problem 43. Subset Sum

Solution 128183

Submitted on 16 Aug 2012 by Carsten
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
%% v = [2, 3, 5]; n = 8; correct = [2, 3]; actual = subset_sum(v, n); assert(isequal(actual, correct))

bla = 3 2 1 3 1 2 2 3 1 2 1 3 1 2 3 1 3 2 ind = 2 3

2   Pass
%% v = [5, 3, 2]; n = 2; correct = 3; actual = subset_sum(v, n); assert(isequal(actual, correct))

bla = 3 2 1 3 1 2 2 3 1 2 1 3 1 2 3 1 3 2 ind = 3

3   Pass
%% v = [2, 3, 5]; n = 4; correct = []; actual = subset_sum(v, n); assert(isequal(actual, correct))

bla = 3 2 1 3 1 2 2 3 1 2 1 3 1 2 3 1 3 2 ind = []

4   Pass
%% v = [1, 1, 1, 1, 1]; n = 5; correct = [1, 2, 3, 4, 5]; actual = subset_sum(v, n); assert(isequal(actual, correct))

bla = 5 4 3 2 1 5 4 3 1 2 5 4 2 3 1 5 4 2 1 3 5 4 1 2 3 5 4 1 3 2 5 3 4 2 1 5 3 4 1 2 5 3 2 4 1 5 3 2 1 4 5 3 1 2 4 5 3 1 4 2 5 2 3 4 1 5 2 3 1 4 5 2 4 3 1 5 2 4 1 3 5 2 1 4 3 5 2 1 3 4 5 1 3 2 4 5 1 3 4 2 5 1 2 3 4 5 1 2 4 3 5 1 4 2 3 5 1 4 3 2 4 5 3 2 1 4 5 3 1 2 4 5 2 3 1 4 5 2 1 3 4 5 1 2 3 4 5 1 3 2 4 3 5 2 1 4 3 5 1 2 4 3 2 5 1 4 3 2 1 5 4 3 1 2 5 4 3 1 5 2 4 2 3 5 1 4 2 3 1 5 4 2 5 3 1 4 2 5 1 3 4 2 1 5 3 4 2 1 3 5 4 1 3 2 5 4 1 3 5 2 4 1 2 3 5 4 1 2 5 3 4 1 5 2 3 4 1 5 3 2 3 4 5 2 1 3 4 5 1 2 3 4 2 5 1 3 4 2 1 5 3 4 1 2 5 3 4 1 5 2 3 5 4 2 1 3 5 4 1 2 3 5 2 4 1 3 5 2 1 4 3 5 1 2 4 3 5 1 4 2 3 2 5 4 1 3 2 5 1 4 3 2 4 5 1 3 2 4 1 5 3 2 1 4 5 3 2 1 5 4 3 1 5 2 4 3 1 5 4 2 3 1 2 5 4 3 1 2 4 5 3 1 4 2 5 3 1 4 5 2 2 4 3 5 1 2 4 3 1 5 2 4 5 3 1 2 4 5 1 3 2 4 1 5 3 2 4 1 3 5 2 3 4 5 1 2 3 4 1 5 2 3 5 4 1 2 3 5 1 4 2 3 1 5 4 2 3 1 4 5 2 5 3 4 1 2 5 3 1 4 2 5 4 3 1 2 5 4 1 3 2 5 1 4 3 2 5 1 3 4 2 1 3 5 4 2 1 3 4 5 2 1 5 3 4 2 1 5 4 3 2 1 4 5 3 2 1 4 3 5 1 4 3 2 5 1 4 3 5 2 1 4 2 3 5 1 4 2 5 3 1 4 5 2 3 1 4 5 3 2 1 3 4 2 5 1 3 4 5 2 1 3 2 4 5 1 3 2 5 4 1 3 5 2 4 1 3 5 4 2 1 2 3 4 5 1 2 3 5 4 1 2 4 3 5 1 2 4 5 3 1 2 5 4 3 1 2 5 3 4 1 5 3 2 4 1 5 3 4 2 1 5 2 3 4 1 5 2 4 3 1 5 4 2 3 1 5 4 3 2 ind = 1 2 3 4 5

5   Pass
%% v = [1, 2, 3, 4, 100]; n = 100; correct = 5; actual = subset_sum(v, n); assert(isequal(actual, correct))

bla = 5 4 3 2 1 5 4 3 1 2 5 4 2 3 1 5 4 2 1 3 5 4 1 2 3 5 4 1 3 2 5 3 4 2 1 5 3 4 1 2 5 3 2 4 1 5 3 2 1 4 5 3 1 2 4 5 3 1 4 2 5 2 3 4 1 5 2 3 1 4 5 2 4 3 1 5 2 4 1 3 5 2 1 4 3 5 2 1 3 4 5 1 3 2 4 5 1 3 4 2 5 1 2 3 4 5 1 2 4 3 5 1 4 2 3 5 1 4 3 2 4 5 3 2 1 4 5 3 1 2 4 5 2 3 1 4 5 2 1 3 4 5 1 2 3 4 5 1 3 2 4 3 5 2 1 4 3 5 1 2 4 3 2 5 1 4 3 2 1 5 4 3 1 2 5 4 3 1 5 2 4 2 3 5 1 4 2 3 1 5 4 2 5 3 1 4 2 5 1 3 4 2 1 5 3 4 2 1 3 5 4 1 3 2 5 4 1 3 5 2 4 1 2 3 5 4 1 2 5 3 4 1 5 2 3 4 1 5 3 2 3 4 5 2 1 3 4 5 1 2 3 4 2 5 1 3 4 2 1 5 3 4 1 2 5 3 4 1 5 2 3 5 4 2 1 3 5 4 1 2 3 5 2 4 1 3 5 2 1 4 3 5 1 2 4 3 5 1 4 2 3 2 5 4 1 3 2 5 1 4 3 2 4 5 1 3 2 4 1 5 3 2 1 4 5 3 2 1 5 4 3 1 5 2 4 3 1 5 4 2 3 1 2 5 4 3 1 2 4 5 3 1 4 2 5 3 1 4 5 2 2 4 3 5 1 2 4 3 1 5 2 4 5 3 1 2 4 5 1 3 2 4 1 5 3 2 4 1 3 5 2 3 4 5 1 2 3 4 1 5 2 3 5 4 1 2 3 5 1 4 2 3 1 5 4 2 3 1 4 5 2 5 3 4 1 2 5 3 1 4 2 5 4 3 1 2 5 4 1 3 2 5 1 4 3 2 5 1 3 4 2 1 3 5 4 2 1 3 4 5 2 1 5 3 4 2 1 5 4 3 2 1 4 5 3 2 1 4 3 5 1 4 3 2 5 1 4 3 5 2 1 4 2 3 5 1 4 2 5 3 1 4 5 2 3 1 4 5 3 2 1 3 4 2 5 1 3 4 5 2 1 3 2 4 5 1 3 2 5 4 1 3 5 2 4 1 3 5 4 2 1 2 3 4 5 1 2 3 5 4 1 2 4 3 5 1 2 4 5 3 1 2 5 4 3 1 2 5 3 4 1 5 3 2 4 1 5 3 4 2 1 5 2 3 4 1 5 2 4 3 1 5 4 2 3 1 5 4 3 2 ind = 5

6   Pass
%% v = [-7, -3, -2, 8, 5]; n = 0; correct = [2, 3, 5]; actual = subset_sum(v, n); assert(isequal(actual, correct))

bla = 5 4 3 2 1 5 4 3 1 2 5 4 2 3 1 5 4 2 1 3 5 4 1 2 3 5 4 1 3 2 5 3 4 2 1 5 3 4 1 2 5 3 2 4 1 5 3 2 1 4 5 3 1 2 4 5 3 1 4 2 5 2 3 4 1 5 2 3 1 4 5 2 4 3 1 5 2 4 1 3 5 2 1 4 3 5 2 1 3 4 5 1 3 2 4 5 1 3 4 2 5 1 2 3 4 5 1 2 4 3 5 1 4 2 3 5 1 4 3 2 4 5 3 2 1 4 5 3 1 2 4 5 2 3 1 4 5 2 1 3 4 5 1 2 3 4 5 1 3 2 4 3 5 2 1 4 3 5 1 2 4 3 2 5 1 4 3 2 1 5 4 3 1 2 5 4 3 1 5 2 4 2 3 5 1 4 2 3 1 5 4 2 5 3 1 4 2 5 1 3 4 2 1 5 3 4 2 1 3 5 4 1 3 2 5 4 1 3 5 2 4 1 2 3 5 4 1 2 5 3 4 1 5 2 3 4 1 5 3 2 3 4 5 2 1 3 4 5 1 2 3 4 2 5 1 3 4 2 1 5 3 4 1 2 5 3 4 1 5 2 3 5 4 2 1 3 5 4 1 2 3 5 2 4 1 3 5 2 1 4 3 5 1 2 4 3 5 1 4 2 3 2 5 4 1 3 2 5 1 4 3 2 4 5 1 3 2 4 1 5 3 2 1 4 5 3 2 1 5 4 3 1 5 2 4 3 1 5 4 2 3 1 2 5 4 3 1 2 4 5 3 1 4 2 5 3 1 4 5 2 2 4 3 5 1 2 4 3 1 5 2 4 5 3 1 2 4 5 1 3 2 4 1 5 3 2 4 1 3 5 2 3 4 5 1 2 3 4 1 5 2 3 5 4 1 2 3 5 1 4 2 3 1 5 4 2 3 1 4 5 2 5 3 4 1 2 5 3 1 4 2 5 4 3 1 2 5 4 1 3 2 5 1 4 3 2 5 1 3 4 2 1 3 5 4 2 1 3 4 5 2 1 5 3 4 2 1 5 4 3 2 1 4 5 3 2 1 4 3 5 1 4 3 2 5 1 4 3 5 2 1 4 2 3 5 1 4 2 5 3 1 4 5 2 3 1 4 5 3 2 1 3 4 2 5 1 3 4 5 2 1 3 2 4 5 1 3 2 5 4 1 3 5 2 4 1 3 5 4 2 1 2 3 4 5 1 2 3 5 4 1 2 4 3 5 1 2 4 5 3 1 2 5 4 3 1 2 5 3 4 1 5 3 2 4 1 5 3 4 2 1 5 2 3 4 1 5 2 4 3 1 5 4 2 3 1 5 4 3 2 ind = 2 3 5