{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-06T14:01:22.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2026-04-06T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":2313,"title":"Narcissistic problem","description":"How many likes has this problem?","description_html":"\u003cp\u003eHow many likes has this problem?\u003c/p\u003e","function_template":"function y = like_me(x)\r\n  y = x;\r\nend","test_suite":"%%\r\n% this problem will be updated,\r\n% your score/size can change over time\r\n% if you submit a fixed value :-)\r\n%%\r\ny=like_me();\r\nassert(isequal(mod(y,1),0));\r\n%%\r\ny=like_me();\r\nassert(y\u003e0);\r\n%%\r\ny=like_me();\r\nurl='http://www.mathworks.co.uk/matlabcentral/cody/problems/2313'\r\n% the main problem with this problem is that ...\r\n% this problem thinks.\r\n% it thinks about itself most of the time.\r\n% it is convinced, that at least X likes has it.\r\ny_sub_correct=max([10 cellfun(@(S)str2num(cell2mat(S)),regexp(urlread(url),'(\\d*) players\u003c/a\u003e like this problem','tokens'))]); % probably hackable by comments?\r\nt = mtree('like_me.m','-file');\r\nsize = length(t.nodesize);\r\n% this problem likes compliments,\r\n% even false.\r\n% For good compliment it is going to pass your solution with a smaller size! \r\n% But if you don't appreciate it, it can punish you...\r\nfeval(@assignin,'caller','score',round(max(0,size*(.5+.5*y_sub_correct/y))));\r\n","published":true,"deleted":false,"likes_count":30,"comments_count":4,"created_by":14358,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":166,"test_suite_updated_at":"2014-12-05T16:31:19.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2014-05-08T09:18:27.000Z","updated_at":"2026-02-14T16:20:13.000Z","published_at":"2014-05-08T09:25:53.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHow many likes has this problem?\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":2312,"title":"How many solutions has this problem?","description":"Guess, predict or calculate :-)\r\n\r\n(You will be scored by the accuracy).\r\n\r\n\r\n\r\n\r\nUpdate: \u003chttp://www.mathworks.co.uk/matlabcentral/about/trendy/ TRENDY\u003e \u003chttp://www.mathworks.co.uk/matlabcentral/trendy/Tutorial/urlfilter.html is\u003e here!","description_html":"\u003cp\u003eGuess, predict or calculate :-)\u003c/p\u003e\u003cp\u003e(You will be scored by the accuracy).\u003c/p\u003e\u003cp\u003eUpdate: \u003ca href = \"http://www.mathworks.co.uk/matlabcentral/about/trendy/\"\u003eTRENDY\u003c/a\u003e \u003ca href = \"http://www.mathworks.co.uk/matlabcentral/trendy/Tutorial/urlfilter.html\"\u003eis\u003c/a\u003e here!\u003c/p\u003e","function_template":"function y = solutions(x)\r\n  y = 42;\r\nend","test_suite":"%%\r\n% please ''ignore'' this first test, this code is here to put function \r\n% urlfilter known from matlabcentral/trendy to the path for this problem\r\n% (method taken from Doug's Hull problem Steal, Share, or Catch)\r\nfh=fopen('urlfilter.m','wt');\r\nfprintf(fh, '%s \\n', 'function out = urlfilter(url, target, numNumbers, direction)') ;\r\nfprintf(fh, '%s \\n', '  if nargin \u003c 3, numNumbers = 1; end');\r\nfprintf(fh, '%s \\n', '  if nargin \u003c 4 direction = ''forward''; end');\r\nfprintf(fh, '%s \\n', '  % If url is not an actual URL, then treat it as a string');\r\nfprintf(fh, '%s \\n', '  if strcmp(url(1:4),''http''), textStr = urlread(url); else textStr = url; end');\r\nfprintf(fh, '%s \\n', '  % Handle special case where two numbers are given as part of a range');\r\nfprintf(fh, '%s \\n', '  %   Example: \"annual rainfall = 20-40 inches\"');\r\nfprintf(fh, '%s \\n', '  % Solution is a pre-processing step that replaces the dash with a space');\r\nfprintf(fh, '%s \\n', '  %   Example: \"annual rainfall = 20 40 inches\"');\r\nfprintf(fh, '%s \\n', '  textStr = regexprep(textStr,''(\\d+)-(\\d+)'',''$1 $2'');');\r\nfprintf(fh, '%s \\n', '  strIndex = strfind(textStr,target);');\r\nfprintf(fh, '%s \\n', '  if isempty(strIndex),');\r\nfprintf(fh, '%s \\n', '    error( ''trendy:urlfilter:TargetStringNotFound'', ...');\r\nfprintf(fh, '%s \\n', '          [''Target string '' target '' does not appear''])');\r\nfprintf(fh, '%s \\n', '  end');\r\nfprintf(fh, '%s \\n', '  % Start looking after the first appearance of the target');\r\nfprintf(fh, '%s \\n', '  if strcmp(direction,''forward'')');\r\nfprintf(fh, '%s \\n', '    strIndex = strIndex(1) + length(target);');\r\nfprintf(fh, '%s \\n', '  elseif strcmp(direction,''backward'')');\r\nfprintf(fh, '%s \\n', '    strIndex = strIndex(1) - 1;');\r\nfprintf(fh, '%s \\n', '  else');\r\nfprintf(fh, '%s \\n', '    error( ''trendy:urlfilter:InvalidDirectionFlag'', ...');\r\nfprintf(fh, '%s \\n', '           ''DIRECTION must be either ''''forward'''' or ''''backward''''.'' );');\r\nfprintf(fh, '%s \\n', '  end');\r\nfprintf(fh, '%s \\n', '  out = zeros(1,numNumbers);');\r\nfprintf(fh, '%s \\n', '  for i = 1:numNumbers');\r\nfprintf(fh, '%s \\n', '    [out(i),strIndex] = getNextNumber(textStr,strIndex,direction);');\r\nfprintf(fh, '%s \\n', '  end');\r\nfprintf(fh, '%s \\n', 'end');\r\nfprintf(fh, '%s \\n', '% =========================');\r\nfprintf(fh, '%s \\n', 'function [nextNumber,strIndex] = getNextNumber(textStr,strIndex,direction)');\r\nfprintf(fh, '%s \\n', '  % Use a state machine to sift through the HTML for numbers.');\r\nfprintf(fh, '%s \\n', '  if strcmp(direction,''forward'')');\r\nfprintf(fh, '%s \\n', '    openTagSymbol  = ''\u003c'';');\r\nfprintf(fh, '%s \\n', '    closeTagSymbol = ''\u003e'';');\r\nfprintf(fh, '%s \\n', '    moveIndexFcn   = @(x) x+1;');\r\nfprintf(fh, '%s \\n', '    concatenateFcn = @(a,b) [a b];');\r\nfprintf(fh, '%s \\n', '  else');\r\nfprintf(fh, '%s \\n', '    openTagSymbol  = ''\u003e'';');\r\nfprintf(fh, '%s \\n', '    closeTagSymbol = ''\u003c'';');\r\nfprintf(fh, '%s \\n', '    moveIndexFcn   = @(x) x-1;');\r\nfprintf(fh, '%s \\n', '    concatenateFcn = @(a,b) [b a];');\r\nfprintf(fh, '%s \\n', '  end');\r\nfprintf(fh, '%s \\n', '  urlStrLen = length(textStr);');\r\nfprintf(fh, '%s \\n', '  state = ''notnumber'';');\r\nfprintf(fh, '%s \\n', '  while true');\r\nfprintf(fh, '%s \\n', '    ch = textStr(strIndex);');\r\nfprintf(fh, '%s \\n', '    switch state');\r\nfprintf(fh, '%s \\n', '      case ''notnumber''');\r\nfprintf(fh, '%s \\n', '        if isDigitDotDashOrComma(ch)');\r\nfprintf(fh, '%s \\n', '          state = ''number'';');\r\nfprintf(fh, '%s \\n', '          numStr = ch;');\r\nfprintf(fh, '%s \\n', '        elseif (ch == openTagSymbol)');\r\nfprintf(fh, '%s \\n', '          state = ''tagbody'';');\r\nfprintf(fh, '%s \\n', '        end');\r\nfprintf(fh, '%s \\n', '      case ''tagbody''');\r\nfprintf(fh, '%s \\n', '        % Throw away anything inside the tag markup area');\r\nfprintf(fh, '%s \\n', '        if (ch == closeTagSymbol)');\r\nfprintf(fh, '%s \\n', '          state = ''notnumber'';');\r\nfprintf(fh, '%s \\n', '        end ');\r\nfprintf(fh, '%s \\n', '      case ''number''');\r\nfprintf(fh, '%s \\n', '        if isDigitDotDashOrComma(ch)');\r\nfprintf(fh, '%s \\n', '          numStr = concatenateFcn(numStr,ch);');\r\nfprintf(fh, '%s \\n', '        else');\r\nfprintf(fh, '%s \\n', '          % We are transitioning out of a number.');\r\nfprintf(fh, '%s \\n', '          % Note that STR2DOUBLE handles commas in the string.');\r\nfprintf(fh, '%s \\n', '          nextNumber = str2double(numStr);');\r\nfprintf(fh, '%s \\n', '          if ~isnan(nextNumber)');\r\nfprintf(fh, '%s \\n', '            % The number is valid. We''re all done.');\r\nfprintf(fh, '%s \\n', '            break');\r\nfprintf(fh, '%s \\n', '          else');\r\nfprintf(fh, '%s \\n', '            % The number is bogus. Throw it away and continue.');\r\nfprintf(fh, '%s \\n', '            if (ch == openTagSymbol), state = ''tagbody''; else state = ''notnumber''; end');\r\nfprintf(fh, '%s \\n', '          end');\r\nfprintf(fh, '%s \\n', '        end');\r\nfprintf(fh, '%s \\n', '      otherwise');\r\nfprintf(fh, '%s \\n', '        error( ''trendy:urlfilter:InvalidState'', ...');\r\nfprintf(fh, '%s \\n', '             [''Encountered unknown state '' state])');\r\nfprintf(fh, '%s \\n', '    end');\r\nfprintf(fh, '%s \\n', '    strIndex = moveIndexFcn(strIndex);');\r\nfprintf(fh, '%s \\n', '    if (strIndex == 0) || (strIndex \u003e urlStrLen)');\r\nfprintf(fh, '%s \\n', '      % We ran off the end of the string.');\r\nfprintf(fh, '%s \\n', '      disp(''End of file reached.'')');\r\nfprintf(fh, '%s \\n', '      break');\r\nfprintf(fh, '%s \\n', '    end');\r\nfprintf(fh, '%s \\n', '  end');\r\nfprintf(fh, '%s \\n', 'end');\r\nfprintf(fh, '%s \\n', '% ==================');\r\nfprintf(fh, '%s \\n', 'function tf = isDigitDotDashOrComma(ch)');\r\nfprintf(fh, '%s \\n', '  tf = ((ch \u003e= ''0'') \u0026\u0026 (ch \u003c= ''9'')) || ...');\r\nfprintf(fh, '%s \\n', '          (ch == ''.'') || (ch == ''-'') || (ch == '','');');\r\nfprintf(fh, '%s \\n', 'end');\r\nfclose(fh);\r\n%%\r\nrehash path\r\n%%\r\ny=solutions();\r\nassert(isequal(mod(y,1),0))\r\n%%\r\ny=solutions();\r\nassert(y\u003e0);\r\n%%\r\ny=solutions();\r\n% yes, yes solution hidden in the test suite... try to code adifferent one! :-)\r\nurl='http://www.mathworks.co.uk/matlabcentral/cody/problems/2312'\r\ny_correct=max([0 cellfun(@(S)str2num(cell2mat(S)),regexp(urlread(url),'\u003cspan class=\"solution_statistic\"\u003e(\\d*)\u003c/span\u003e\u003cspan class=\"text\"\u003e Solutions\u003c/span\u003e','tokens'))]) + 1; % don't forget your solution\r\nt = mtree('solutions.m','-file');\r\nsize = ceil(length(t.nodesize)/13);\r\nfeval(@assignin,'caller','score',abs(y-y_correct)+size);\r\n% (... and solutions will be rescored from time to time :-D)\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":1,"created_by":14358,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":68,"test_suite_updated_at":"2014-05-12T12:02:31.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2014-05-08T08:33:51.000Z","updated_at":"2026-02-18T14:23:20.000Z","published_at":"2014-05-08T09:06:48.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess, predict or calculate :-)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e(You will be scored by the accuracy).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eUpdate:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.co.uk/matlabcentral/about/trendy/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTRENDY\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.co.uk/matlabcentral/trendy/Tutorial/urlfilter.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eis\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e here!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":42461,"title":"This is a palindrome and so am I","description":"A palindrome is a sequence of characters which reads the same backward or forward, for instance\r\n\r\n'a man a plan a canal panama'\r\n\r\nis a palindrome.\r\nWrite a function that, \r\n\r\n*a)* given a string input, returns true or false depending on whether this string is a palindrome (up to white-spaces) or not.\r\n\r\n*b)* The function's source code must be a palindrome.","description_html":"\u003cp\u003eA palindrome is a sequence of characters which reads the same backward or forward, for instance\u003c/p\u003e\u003cp\u003e'a man a plan a canal panama'\u003c/p\u003e\u003cp\u003eis a palindrome.\r\nWrite a function that,\u003c/p\u003e\u003cp\u003e\u003cb\u003ea)\u003c/b\u003e given a string input, returns true or false depending on whether this string is a palindrome (up to white-spaces) or not.\u003c/p\u003e\u003cp\u003e\u003cb\u003eb)\u003c/b\u003e The function's source code must be a palindrome.\u003c/p\u003e","function_template":"function y = is_pal(s)\r\n% )s(lap_si = y noitcnuf\r\n","test_suite":"%%\r\ns = 'a man a plan a canal panama';\r\nassert(isequal(is_pal(s),true))\r\n%%\r\ns = 'taco cat';\r\nassert(isequal(is_pal(s),true))\r\n%%\r\ns = 'a man a plan  canal panama';\r\nassert(isequal(is_pal(s),false))\r\n%%\r\ns = char(randi(74,1,200)+'0');\r\nassert(isequal(is_pal(s),false)); % most probably\r\n%%\r\ns = char(randi(74,1,200)+'0');\r\ns = [s fliplr(s)];\r\nassert(isequal(is_pal(s),true));\r\n%%\r\ns = fileread('is_pal.m');\r\ns = regexprep(s,'%This code written by profile_id.*','')\r\nassert(isequal(is_pal(s),true));","published":true,"deleted":false,"likes_count":8,"comments_count":5,"created_by":203,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":36,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2015-07-23T12:29:59.000Z","updated_at":"2025-12-08T18:25:19.000Z","published_at":"2015-07-23T12:30:16.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA palindrome is a sequence of characters which reads the same backward or forward, for instance\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e'a man a plan a canal panama'\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eis a palindrome. Write a function that,\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ea)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e given a string input, returns true or false depending on whether this string is a palindrome (up to white-spaces) or not.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eb)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e The function's source code must be a palindrome.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":2907,"title":"Collaborative Fun : Nomination","description":"Series of problems have been presented in Cody aiming at collaborative fun. This problem is based on Alfonso's problem #2825 - Pay it Forward. This one encourages more directed collaboration.\r\n\r\nYou can solve this problem only if you are nominated by some other player. Once you are nominated, you can solve it by returning anything. You can nominate a player to solve this problem by returning his player ID.\r\n\r\nThis is not a hacking problem. You should hack only when you are not interested in collaboration.\r\n\r\nExample - I have nominated Alfonso by returning his player ID 1379371. (Since test suite of this problem uses codes from his problem, it is fair to nominate Alfonso)","description_html":"\u003cp\u003eSeries of problems have been presented in Cody aiming at collaborative fun. This problem is based on Alfonso's problem #2825 - Pay it Forward. This one encourages more directed collaboration.\u003c/p\u003e\u003cp\u003eYou can solve this problem only if you are nominated by some other player. Once you are nominated, you can solve it by returning anything. You can nominate a player to solve this problem by returning his player ID.\u003c/p\u003e\u003cp\u003eThis is not a hacking problem. You should hack only when you are not interested in collaboration.\u003c/p\u003e\u003cp\u003eExample - I have nominated Alfonso by returning his player ID 1379371. (Since test suite of this problem uses codes from his problem, it is fair to nominate Alfonso)\u003c/p\u003e","function_template":"function y = nomination(x)\r\n  y = ;\r\nend","test_suite":"lines=textread('nomination.m','%s');\r\nid_own=str2num(regexp(lines{end},'\\d+','match','once'));\r\n\r\nx=uint64(nomination());\r\n\r\nif x == uint64(id_own)\r\n    assignin('caller','score',-1);\r\n    error('Funny! You tried to nominate yourself!')\r\nend\r\n\r\nassignin('caller','score',x);\r\n\r\nproblem=2907;\r\nhtml=urlread(sprintf('http://www.mathworks.com/matlabcentral/cody/problems/%d/solutions?term=size:%d',problem,id_own));\r\nn=numel(regexpi(html,'solution \\d+'));\r\n\r\nif n \u003c 1\r\n    error('Sorry. You are nominated by none.');\r\nend\r\n\r\n\r\n%_______\r\n\r\nurl = sprintf('https://www.mathworks.com/matlabcentral/cody/players/%d',x);\r\nhtml = urlread(url);\r\n\r\nc = regexp(html,'h1.+h1','match');\r\nname = c{1}(4:end-4);\r\n\r\ns = sprintf('____________________\\n\\nYou have nominated %s !!!',name);\r\ndisp(s)","published":true,"deleted":false,"likes_count":4,"comments_count":7,"created_by":17203,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":"2015-02-01T12:49:00.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2015-01-31T09:55:23.000Z","updated_at":"2025-06-22T16:20:35.000Z","published_at":"2015-01-31T09:55:23.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSeries of problems have been presented in Cody aiming at collaborative fun. This problem is based on Alfonso's problem #2825 - Pay it Forward. This one encourages more directed collaboration.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou can solve this problem only if you are nominated by some other player. Once you are nominated, you can solve it by returning anything. You can nominate a player to solve this problem by returning his player ID.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis is not a hacking problem. You should hack only when you are not interested in collaboration.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample - I have nominated Alfonso by returning his player ID 1379371. (Since test suite of this problem uses codes from his problem, it is fair to nominate Alfonso)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":2313,"title":"Narcissistic problem","description":"How many likes has this problem?","description_html":"\u003cp\u003eHow many likes has this problem?\u003c/p\u003e","function_template":"function y = like_me(x)\r\n  y = x;\r\nend","test_suite":"%%\r\n% this problem will be updated,\r\n% your score/size can change over time\r\n% if you submit a fixed value :-)\r\n%%\r\ny=like_me();\r\nassert(isequal(mod(y,1),0));\r\n%%\r\ny=like_me();\r\nassert(y\u003e0);\r\n%%\r\ny=like_me();\r\nurl='http://www.mathworks.co.uk/matlabcentral/cody/problems/2313'\r\n% the main problem with this problem is that ...\r\n% this problem thinks.\r\n% it thinks about itself most of the time.\r\n% it is convinced, that at least X likes has it.\r\ny_sub_correct=max([10 cellfun(@(S)str2num(cell2mat(S)),regexp(urlread(url),'(\\d*) players\u003c/a\u003e like this problem','tokens'))]); % probably hackable by comments?\r\nt = mtree('like_me.m','-file');\r\nsize = length(t.nodesize);\r\n% this problem likes compliments,\r\n% even false.\r\n% For good compliment it is going to pass your solution with a smaller size! \r\n% But if you don't appreciate it, it can punish you...\r\nfeval(@assignin,'caller','score',round(max(0,size*(.5+.5*y_sub_correct/y))));\r\n","published":true,"deleted":false,"likes_count":30,"comments_count":4,"created_by":14358,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":166,"test_suite_updated_at":"2014-12-05T16:31:19.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2014-05-08T09:18:27.000Z","updated_at":"2026-02-14T16:20:13.000Z","published_at":"2014-05-08T09:25:53.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eHow many likes has this problem?\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":2312,"title":"How many solutions has this problem?","description":"Guess, predict or calculate :-)\r\n\r\n(You will be scored by the accuracy).\r\n\r\n\r\n\r\n\r\nUpdate: \u003chttp://www.mathworks.co.uk/matlabcentral/about/trendy/ TRENDY\u003e \u003chttp://www.mathworks.co.uk/matlabcentral/trendy/Tutorial/urlfilter.html is\u003e here!","description_html":"\u003cp\u003eGuess, predict or calculate :-)\u003c/p\u003e\u003cp\u003e(You will be scored by the accuracy).\u003c/p\u003e\u003cp\u003eUpdate: \u003ca href = \"http://www.mathworks.co.uk/matlabcentral/about/trendy/\"\u003eTRENDY\u003c/a\u003e \u003ca href = \"http://www.mathworks.co.uk/matlabcentral/trendy/Tutorial/urlfilter.html\"\u003eis\u003c/a\u003e here!\u003c/p\u003e","function_template":"function y = solutions(x)\r\n  y = 42;\r\nend","test_suite":"%%\r\n% please ''ignore'' this first test, this code is here to put function \r\n% urlfilter known from matlabcentral/trendy to the path for this problem\r\n% (method taken from Doug's Hull problem Steal, Share, or Catch)\r\nfh=fopen('urlfilter.m','wt');\r\nfprintf(fh, '%s \\n', 'function out = urlfilter(url, target, numNumbers, direction)') ;\r\nfprintf(fh, '%s \\n', '  if nargin \u003c 3, numNumbers = 1; end');\r\nfprintf(fh, '%s \\n', '  if nargin \u003c 4 direction = ''forward''; end');\r\nfprintf(fh, '%s \\n', '  % If url is not an actual URL, then treat it as a string');\r\nfprintf(fh, '%s \\n', '  if strcmp(url(1:4),''http''), textStr = urlread(url); else textStr = url; end');\r\nfprintf(fh, '%s \\n', '  % Handle special case where two numbers are given as part of a range');\r\nfprintf(fh, '%s \\n', '  %   Example: \"annual rainfall = 20-40 inches\"');\r\nfprintf(fh, '%s \\n', '  % Solution is a pre-processing step that replaces the dash with a space');\r\nfprintf(fh, '%s \\n', '  %   Example: \"annual rainfall = 20 40 inches\"');\r\nfprintf(fh, '%s \\n', '  textStr = regexprep(textStr,''(\\d+)-(\\d+)'',''$1 $2'');');\r\nfprintf(fh, '%s \\n', '  strIndex = strfind(textStr,target);');\r\nfprintf(fh, '%s \\n', '  if isempty(strIndex),');\r\nfprintf(fh, '%s \\n', '    error( ''trendy:urlfilter:TargetStringNotFound'', ...');\r\nfprintf(fh, '%s \\n', '          [''Target string '' target '' does not appear''])');\r\nfprintf(fh, '%s \\n', '  end');\r\nfprintf(fh, '%s \\n', '  % Start looking after the first appearance of the target');\r\nfprintf(fh, '%s \\n', '  if strcmp(direction,''forward'')');\r\nfprintf(fh, '%s \\n', '    strIndex = strIndex(1) + length(target);');\r\nfprintf(fh, '%s \\n', '  elseif strcmp(direction,''backward'')');\r\nfprintf(fh, '%s \\n', '    strIndex = strIndex(1) - 1;');\r\nfprintf(fh, '%s \\n', '  else');\r\nfprintf(fh, '%s \\n', '    error( ''trendy:urlfilter:InvalidDirectionFlag'', ...');\r\nfprintf(fh, '%s \\n', '           ''DIRECTION must be either ''''forward'''' or ''''backward''''.'' );');\r\nfprintf(fh, '%s \\n', '  end');\r\nfprintf(fh, '%s \\n', '  out = zeros(1,numNumbers);');\r\nfprintf(fh, '%s \\n', '  for i = 1:numNumbers');\r\nfprintf(fh, '%s \\n', '    [out(i),strIndex] = getNextNumber(textStr,strIndex,direction);');\r\nfprintf(fh, '%s \\n', '  end');\r\nfprintf(fh, '%s \\n', 'end');\r\nfprintf(fh, '%s \\n', '% =========================');\r\nfprintf(fh, '%s \\n', 'function [nextNumber,strIndex] = getNextNumber(textStr,strIndex,direction)');\r\nfprintf(fh, '%s \\n', '  % Use a state machine to sift through the HTML for numbers.');\r\nfprintf(fh, '%s \\n', '  if strcmp(direction,''forward'')');\r\nfprintf(fh, '%s \\n', '    openTagSymbol  = ''\u003c'';');\r\nfprintf(fh, '%s \\n', '    closeTagSymbol = ''\u003e'';');\r\nfprintf(fh, '%s \\n', '    moveIndexFcn   = @(x) x+1;');\r\nfprintf(fh, '%s \\n', '    concatenateFcn = @(a,b) [a b];');\r\nfprintf(fh, '%s \\n', '  else');\r\nfprintf(fh, '%s \\n', '    openTagSymbol  = ''\u003e'';');\r\nfprintf(fh, '%s \\n', '    closeTagSymbol = ''\u003c'';');\r\nfprintf(fh, '%s \\n', '    moveIndexFcn   = @(x) x-1;');\r\nfprintf(fh, '%s \\n', '    concatenateFcn = @(a,b) [b a];');\r\nfprintf(fh, '%s \\n', '  end');\r\nfprintf(fh, '%s \\n', '  urlStrLen = length(textStr);');\r\nfprintf(fh, '%s \\n', '  state = ''notnumber'';');\r\nfprintf(fh, '%s \\n', '  while true');\r\nfprintf(fh, '%s \\n', '    ch = textStr(strIndex);');\r\nfprintf(fh, '%s \\n', '    switch state');\r\nfprintf(fh, '%s \\n', '      case ''notnumber''');\r\nfprintf(fh, '%s \\n', '        if isDigitDotDashOrComma(ch)');\r\nfprintf(fh, '%s \\n', '          state = ''number'';');\r\nfprintf(fh, '%s \\n', '          numStr = ch;');\r\nfprintf(fh, '%s \\n', '        elseif (ch == openTagSymbol)');\r\nfprintf(fh, '%s \\n', '          state = ''tagbody'';');\r\nfprintf(fh, '%s \\n', '        end');\r\nfprintf(fh, '%s \\n', '      case ''tagbody''');\r\nfprintf(fh, '%s \\n', '        % Throw away anything inside the tag markup area');\r\nfprintf(fh, '%s \\n', '        if (ch == closeTagSymbol)');\r\nfprintf(fh, '%s \\n', '          state = ''notnumber'';');\r\nfprintf(fh, '%s \\n', '        end ');\r\nfprintf(fh, '%s \\n', '      case ''number''');\r\nfprintf(fh, '%s \\n', '        if isDigitDotDashOrComma(ch)');\r\nfprintf(fh, '%s \\n', '          numStr = concatenateFcn(numStr,ch);');\r\nfprintf(fh, '%s \\n', '        else');\r\nfprintf(fh, '%s \\n', '          % We are transitioning out of a number.');\r\nfprintf(fh, '%s \\n', '          % Note that STR2DOUBLE handles commas in the string.');\r\nfprintf(fh, '%s \\n', '          nextNumber = str2double(numStr);');\r\nfprintf(fh, '%s \\n', '          if ~isnan(nextNumber)');\r\nfprintf(fh, '%s \\n', '            % The number is valid. We''re all done.');\r\nfprintf(fh, '%s \\n', '            break');\r\nfprintf(fh, '%s \\n', '          else');\r\nfprintf(fh, '%s \\n', '            % The number is bogus. Throw it away and continue.');\r\nfprintf(fh, '%s \\n', '            if (ch == openTagSymbol), state = ''tagbody''; else state = ''notnumber''; end');\r\nfprintf(fh, '%s \\n', '          end');\r\nfprintf(fh, '%s \\n', '        end');\r\nfprintf(fh, '%s \\n', '      otherwise');\r\nfprintf(fh, '%s \\n', '        error( ''trendy:urlfilter:InvalidState'', ...');\r\nfprintf(fh, '%s \\n', '             [''Encountered unknown state '' state])');\r\nfprintf(fh, '%s \\n', '    end');\r\nfprintf(fh, '%s \\n', '    strIndex = moveIndexFcn(strIndex);');\r\nfprintf(fh, '%s \\n', '    if (strIndex == 0) || (strIndex \u003e urlStrLen)');\r\nfprintf(fh, '%s \\n', '      % We ran off the end of the string.');\r\nfprintf(fh, '%s \\n', '      disp(''End of file reached.'')');\r\nfprintf(fh, '%s \\n', '      break');\r\nfprintf(fh, '%s \\n', '    end');\r\nfprintf(fh, '%s \\n', '  end');\r\nfprintf(fh, '%s \\n', 'end');\r\nfprintf(fh, '%s \\n', '% ==================');\r\nfprintf(fh, '%s \\n', 'function tf = isDigitDotDashOrComma(ch)');\r\nfprintf(fh, '%s \\n', '  tf = ((ch \u003e= ''0'') \u0026\u0026 (ch \u003c= ''9'')) || ...');\r\nfprintf(fh, '%s \\n', '          (ch == ''.'') || (ch == ''-'') || (ch == '','');');\r\nfprintf(fh, '%s \\n', 'end');\r\nfclose(fh);\r\n%%\r\nrehash path\r\n%%\r\ny=solutions();\r\nassert(isequal(mod(y,1),0))\r\n%%\r\ny=solutions();\r\nassert(y\u003e0);\r\n%%\r\ny=solutions();\r\n% yes, yes solution hidden in the test suite... try to code adifferent one! :-)\r\nurl='http://www.mathworks.co.uk/matlabcentral/cody/problems/2312'\r\ny_correct=max([0 cellfun(@(S)str2num(cell2mat(S)),regexp(urlread(url),'\u003cspan class=\"solution_statistic\"\u003e(\\d*)\u003c/span\u003e\u003cspan class=\"text\"\u003e Solutions\u003c/span\u003e','tokens'))]) + 1; % don't forget your solution\r\nt = mtree('solutions.m','-file');\r\nsize = ceil(length(t.nodesize)/13);\r\nfeval(@assignin,'caller','score',abs(y-y_correct)+size);\r\n% (... and solutions will be rescored from time to time :-D)\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":1,"created_by":14358,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":68,"test_suite_updated_at":"2014-05-12T12:02:31.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2014-05-08T08:33:51.000Z","updated_at":"2026-02-18T14:23:20.000Z","published_at":"2014-05-08T09:06:48.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGuess, predict or calculate :-)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e(You will be scored by the accuracy).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eUpdate:\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.co.uk/matlabcentral/about/trendy/\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTRENDY\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.co.uk/matlabcentral/trendy/Tutorial/urlfilter.html\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eis\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e here!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":42461,"title":"This is a palindrome and so am I","description":"A palindrome is a sequence of characters which reads the same backward or forward, for instance\r\n\r\n'a man a plan a canal panama'\r\n\r\nis a palindrome.\r\nWrite a function that, \r\n\r\n*a)* given a string input, returns true or false depending on whether this string is a palindrome (up to white-spaces) or not.\r\n\r\n*b)* The function's source code must be a palindrome.","description_html":"\u003cp\u003eA palindrome is a sequence of characters which reads the same backward or forward, for instance\u003c/p\u003e\u003cp\u003e'a man a plan a canal panama'\u003c/p\u003e\u003cp\u003eis a palindrome.\r\nWrite a function that,\u003c/p\u003e\u003cp\u003e\u003cb\u003ea)\u003c/b\u003e given a string input, returns true or false depending on whether this string is a palindrome (up to white-spaces) or not.\u003c/p\u003e\u003cp\u003e\u003cb\u003eb)\u003c/b\u003e The function's source code must be a palindrome.\u003c/p\u003e","function_template":"function y = is_pal(s)\r\n% )s(lap_si = y noitcnuf\r\n","test_suite":"%%\r\ns = 'a man a plan a canal panama';\r\nassert(isequal(is_pal(s),true))\r\n%%\r\ns = 'taco cat';\r\nassert(isequal(is_pal(s),true))\r\n%%\r\ns = 'a man a plan  canal panama';\r\nassert(isequal(is_pal(s),false))\r\n%%\r\ns = char(randi(74,1,200)+'0');\r\nassert(isequal(is_pal(s),false)); % most probably\r\n%%\r\ns = char(randi(74,1,200)+'0');\r\ns = [s fliplr(s)];\r\nassert(isequal(is_pal(s),true));\r\n%%\r\ns = fileread('is_pal.m');\r\ns = regexprep(s,'%This code written by profile_id.*','')\r\nassert(isequal(is_pal(s),true));","published":true,"deleted":false,"likes_count":8,"comments_count":5,"created_by":203,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":36,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2015-07-23T12:29:59.000Z","updated_at":"2025-12-08T18:25:19.000Z","published_at":"2015-07-23T12:30:16.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA palindrome is a sequence of characters which reads the same backward or forward, for instance\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e'a man a plan a canal panama'\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eis a palindrome. Write a function that,\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ea)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e given a string input, returns true or false depending on whether this string is a palindrome (up to white-spaces) or not.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eb)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e The function's source code must be a palindrome.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"},{"id":2907,"title":"Collaborative Fun : Nomination","description":"Series of problems have been presented in Cody aiming at collaborative fun. This problem is based on Alfonso's problem #2825 - Pay it Forward. This one encourages more directed collaboration.\r\n\r\nYou can solve this problem only if you are nominated by some other player. Once you are nominated, you can solve it by returning anything. You can nominate a player to solve this problem by returning his player ID.\r\n\r\nThis is not a hacking problem. You should hack only when you are not interested in collaboration.\r\n\r\nExample - I have nominated Alfonso by returning his player ID 1379371. (Since test suite of this problem uses codes from his problem, it is fair to nominate Alfonso)","description_html":"\u003cp\u003eSeries of problems have been presented in Cody aiming at collaborative fun. This problem is based on Alfonso's problem #2825 - Pay it Forward. This one encourages more directed collaboration.\u003c/p\u003e\u003cp\u003eYou can solve this problem only if you are nominated by some other player. Once you are nominated, you can solve it by returning anything. You can nominate a player to solve this problem by returning his player ID.\u003c/p\u003e\u003cp\u003eThis is not a hacking problem. You should hack only when you are not interested in collaboration.\u003c/p\u003e\u003cp\u003eExample - I have nominated Alfonso by returning his player ID 1379371. (Since test suite of this problem uses codes from his problem, it is fair to nominate Alfonso)\u003c/p\u003e","function_template":"function y = nomination(x)\r\n  y = ;\r\nend","test_suite":"lines=textread('nomination.m','%s');\r\nid_own=str2num(regexp(lines{end},'\\d+','match','once'));\r\n\r\nx=uint64(nomination());\r\n\r\nif x == uint64(id_own)\r\n    assignin('caller','score',-1);\r\n    error('Funny! You tried to nominate yourself!')\r\nend\r\n\r\nassignin('caller','score',x);\r\n\r\nproblem=2907;\r\nhtml=urlread(sprintf('http://www.mathworks.com/matlabcentral/cody/problems/%d/solutions?term=size:%d',problem,id_own));\r\nn=numel(regexpi(html,'solution \\d+'));\r\n\r\nif n \u003c 1\r\n    error('Sorry. You are nominated by none.');\r\nend\r\n\r\n\r\n%_______\r\n\r\nurl = sprintf('https://www.mathworks.com/matlabcentral/cody/players/%d',x);\r\nhtml = urlread(url);\r\n\r\nc = regexp(html,'h1.+h1','match');\r\nname = c{1}(4:end-4);\r\n\r\ns = sprintf('____________________\\n\\nYou have nominated %s !!!',name);\r\ndisp(s)","published":true,"deleted":false,"likes_count":4,"comments_count":7,"created_by":17203,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":10,"test_suite_updated_at":"2015-02-01T12:49:00.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2015-01-31T09:55:23.000Z","updated_at":"2025-06-22T16:20:35.000Z","published_at":"2015-01-31T09:55:23.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSeries of problems have been presented in Cody aiming at collaborative fun. This problem is based on Alfonso's problem #2825 - Pay it Forward. This one encourages more directed collaboration.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou can solve this problem only if you are nominated by some other player. Once you are nominated, you can solve it by returning anything. You can nominate a player to solve this problem by returning his player ID.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis is not a hacking problem. You should hack only when you are not interested in collaboration.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample - I have nominated Alfonso by returning his player ID 1379371. (Since test suite of this problem uses codes from his problem, it is fair to nominate Alfonso)\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"term":"tag:\"self reference\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"self reference\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"self reference\"","","\"","self reference","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007ffbe4959ba0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007ffbe4959b00\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007ffbe4959240\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007ffbe4959e20\u003e":1,"#\u003cMathWorks::Search::Field:0x00007ffbe4959d80\u003e":50,"#\u003cMathWorks::Search::Field:0x00007ffbe4959ce0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007ffbe4959c40\u003e":"tag:\"self reference\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007ffbe4959c40\u003e":"tag:\"self reference\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"cody-search","password":"78X075ddcV44","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"self reference\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"self reference\"","","\"","self reference","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007ffbe4959ba0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007ffbe4959b00\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007ffbe4959240\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007ffbe4959e20\u003e":1,"#\u003cMathWorks::Search::Field:0x00007ffbe4959d80\u003e":50,"#\u003cMathWorks::Search::Field:0x00007ffbe4959ce0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007ffbe4959c40\u003e":"tag:\"self reference\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007ffbe4959c40\u003e":"tag:\"self reference\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":2313,"difficulty_rating":"easy"},{"id":2312,"difficulty_rating":"easy"},{"id":42461,"difficulty_rating":"easy-medium"},{"id":2907,"difficulty_rating":"medium"}]}}