Cody

Solution 319441

Submitted on 15 Sep 2013 by Alfonso Nieto-Castanon
  • Size: 44
  • This is the leading solution.
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

This solution is outdated. To rescore this solution, log in.

Test Suite

Test Status 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 functions={'!','feval','eval','str2func','str2num','regex','system','dos','unix','perl','assert','fopen','write','save','setenv','path','please'}; fid = fopen('partitions.m'); st = char(fread(fid)'); 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)))