{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-16T00:12:35.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-16T00: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":42460,"title":"The cake is a lie...","description":"You're hosting a birthday party with a large number of screaming children.  Fortunately, you have a gigantic sheet cake in front of you that can be cut a large number of times.  Given the number of kids at the party, find the minimum number of cuts you need to make to give all of them at least one piece.  There can be pieces left over, but you need to make sure that everyone gets at least one piece.  Fortunately, the pieces of cake don't have to be the same size.\r\n\r\nGood luck!","description_html":"\u003cp\u003eYou're hosting a birthday party with a large number of screaming children.  Fortunately, you have a gigantic sheet cake in front of you that can be cut a large number of times.  Given the number of kids at the party, find the minimum number of cuts you need to make to give all of them at least one piece.  There can be pieces left over, but you need to make sure that everyone gets at least one piece.  Fortunately, the pieces of cake don't have to be the same size.\u003c/p\u003e\u003cp\u003eGood luck!\u003c/p\u003e","function_template":"function y = birthday_cake(x)\r\n  y = i_want_a_flower_on_my_piece;\r\nend","test_suite":"%%\r\nx = 1;y_correct = 0;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 2;y_correct = 1;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 4;y_correct = 2;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 7;y_correct = 3;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 12;y_correct = 4;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 27;y_correct = 6;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 127;y_correct = 9;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 2015;y_correct = 23;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 4060225;y_correct = 290;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 1234567890;y_correct = 1950;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 1362067890;y_correct = 2015;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\ny=arrayfun(@(x) birthday_cake(x),1:1000);\r\nassert(isequal(sum(y),13965))\r\n[x1,y1]=hist(y,unique(y));\r\n[m1,m2]=max(x1);\r\nassert(isequal(m1,154))\r\nassert(isequal(x1(isprime(x1)),[2 7 11 29 37 67 79 137]))","published":true,"deleted":false,"likes_count":1,"comments_count":4,"created_by":1615,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":35,"test_suite_updated_at":"2018-02-21T17:32:33.000Z","rescore_all_solutions":true,"group_id":37,"created_at":"2015-07-21T16:58:22.000Z","updated_at":"2026-04-08T12:39:49.000Z","published_at":"2015-07-21T17:00:13.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\u003eYou're hosting a birthday party with a large number of screaming children. Fortunately, you have a gigantic sheet cake in front of you that can be cut a large number of times. Given the number of kids at the party, find the minimum number of cuts you need to make to give all of them at least one piece. There can be pieces left over, but you need to make sure that everyone gets at least one piece. Fortunately, the pieces of cake don't have to be the same size.\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\u003eGood luck!\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":42460,"title":"The cake is a lie...","description":"You're hosting a birthday party with a large number of screaming children.  Fortunately, you have a gigantic sheet cake in front of you that can be cut a large number of times.  Given the number of kids at the party, find the minimum number of cuts you need to make to give all of them at least one piece.  There can be pieces left over, but you need to make sure that everyone gets at least one piece.  Fortunately, the pieces of cake don't have to be the same size.\r\n\r\nGood luck!","description_html":"\u003cp\u003eYou're hosting a birthday party with a large number of screaming children.  Fortunately, you have a gigantic sheet cake in front of you that can be cut a large number of times.  Given the number of kids at the party, find the minimum number of cuts you need to make to give all of them at least one piece.  There can be pieces left over, but you need to make sure that everyone gets at least one piece.  Fortunately, the pieces of cake don't have to be the same size.\u003c/p\u003e\u003cp\u003eGood luck!\u003c/p\u003e","function_template":"function y = birthday_cake(x)\r\n  y = i_want_a_flower_on_my_piece;\r\nend","test_suite":"%%\r\nx = 1;y_correct = 0;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 2;y_correct = 1;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 4;y_correct = 2;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 7;y_correct = 3;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 12;y_correct = 4;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 27;y_correct = 6;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 127;y_correct = 9;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 2015;y_correct = 23;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 4060225;y_correct = 290;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 1234567890;y_correct = 1950;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\nx = 1362067890;y_correct = 2015;\r\nassert(isequal(birthday_cake(x),y_correct))\r\n%%\r\ny=arrayfun(@(x) birthday_cake(x),1:1000);\r\nassert(isequal(sum(y),13965))\r\n[x1,y1]=hist(y,unique(y));\r\n[m1,m2]=max(x1);\r\nassert(isequal(m1,154))\r\nassert(isequal(x1(isprime(x1)),[2 7 11 29 37 67 79 137]))","published":true,"deleted":false,"likes_count":1,"comments_count":4,"created_by":1615,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":35,"test_suite_updated_at":"2018-02-21T17:32:33.000Z","rescore_all_solutions":true,"group_id":37,"created_at":"2015-07-21T16:58:22.000Z","updated_at":"2026-04-08T12:39:49.000Z","published_at":"2015-07-21T17:00:13.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\u003eYou're hosting a birthday party with a large number of screaming children. Fortunately, you have a gigantic sheet cake in front of you that can be cut a large number of times. Given the number of kids at the party, find the minimum number of cuts you need to make to give all of them at least one piece. There can be pieces left over, but you need to make sure that everyone gets at least one piece. Fortunately, the pieces of cake don't have to be the same size.\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\u003eGood luck!\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:\"where's our cake\"","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:\"where's our cake\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"where's our cake\"","","\"","where's our cake","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007faf30af7ee0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007faf30af7e40\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007faf30af7580\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007faf30af8160\u003e":1,"#\u003cMathWorks::Search::Field:0x00007faf30af80c0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007faf30af8020\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007faf30af7f80\u003e":"tag:\"where's our cake\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007faf30af7f80\u003e":"tag:\"where's our cake\""},"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:\"where's our cake\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"where's our cake\"","","\"","where's our cake","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007faf30af7ee0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007faf30af7e40\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007faf30af7580\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007faf30af8160\u003e":1,"#\u003cMathWorks::Search::Field:0x00007faf30af80c0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007faf30af8020\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007faf30af7f80\u003e":"tag:\"where's our cake\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007faf30af7f80\u003e":"tag:\"where's our cake\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":42460,"difficulty_rating":"medium"}]}}