MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

# Solution 319078

Submitted on 13 Sep 2013 by James

Correct

138Size
`This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.`

### Test Suite

Test
Code Input and Output
1
Pass

```% Clean workspace
!/bin/cp partitions.m safe
!/bin/rm *.*
!/bin/mv safe partitions.m
% Clean user's function from some known jailbreaking mechanisms
fid = fopen('partitions.m');
for n = 1:numel(functions)
st = regexprep(st, functions{n}, 'error(''No fancy functions!''); %','ignorecase');
end
fclose(fid)
% Force a function header, and comment first code's line (the supposedly users' function header)
st = sprintf('function y = partitions(x)\n%%%s', st);
fid = fopen('partitions.m' , 'w');
fwrite(fid,st);
fclose(fid)
```
```ans =
0
ans =
0
```
2
Pass

```%%
x = 1;y_correct = 1;assert(isequal(partitions(x),y_correct))
```

3
Pass

```%%
x = 5;y_correct = 7;assert(isequal(partitions(x),y_correct))
```

4
Pass

```%%
x = 50;y_correct = 204226;assert(isequal(partitions(x),y_correct))
```

5
Pass

```%%
assert(isequal(partitions(partitions(partitions(partitions(5)))),476715857290));
```

6
Pass

```%%
assert(isequal(partitions(partitions(partitions(6))),526823));
```

7
Pass

```%%
assert(isequal(partitions(partitions(12)),10619863));
```

8
Pass

```%%
assert(isequal(partitions(199),3646072432125))
```

9
Pass

```%%
P=arrayfun(@(x) partitions(x),10:10:100);
y_correct=[42 627 5604 37338 204226 966467 4087968 15796476 56634173 190569292];
assert(all(isequal(P,y_correct)))
```