{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-26T00:14:02.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-26T00: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":44943,"title":"Calculate Amount of Cake Frosting","description":"Given two input variables r and h, which stand for the radius and height of a cake, calculate the surface area of the cake you need to put frosting on (all around the sides and the top).\r\nReturn the result in output variable SA.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 73px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 36.5px; transform-origin: 407px 36.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42.5px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21.25px; text-align: left; transform-origin: 384px 21.25px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 79px 8px; transform-origin: 79px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven two input variables\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 4px 8.5px; transform-origin: 4px 8.5px; \"\u003er\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14px 8px; transform-origin: 14px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 4px 8.5px; transform-origin: 4px 8.5px; \"\u003eh\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 276.5px 8px; transform-origin: 276.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, which stand for the radius and height of a cake, calculate the surface area of the cake you need to put frosting on (all around the sides and the top).\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21.5px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.75px; text-align: left; transform-origin: 384px 10.75px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 109.5px 8px; transform-origin: 109.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eReturn the result in output variable\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 8px 8px; transform-origin: 8px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 8px 8.5px; transform-origin: 8px 8.5px; \"\u003eSA\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function SA = func_frosting(r,h)\r\n  SA = r + h;\r\nend","test_suite":"%%\r\nfiletext = fileread('func_frosting.m');\r\nassert(isempty(strfind(filetext, 'regexp')))\r\nassert(isempty(strfind(filetext, 'else')))\r\nassert(isempty(strfind(filetext, 'switch')))\r\n\r\n%%\r\nr = 3;\r\nh = 2;\r\ny_correct = 65.9734;\r\nassert(abs(func_frosting(r,h) - y_correct) \u003c 1e-4)\r\n\r\n%%\r\nr = 1;\r\nh = 1;\r\ny_correct = 3*pi;\r\nassert(abs(func_frosting(r,h) - y_correct) \u003c 1e-4)\r\n\r\n%%\r\nr = 0.5;\r\nh = 0.25;\r\ny_correct = 1.5708;\r\nassert(abs(func_frosting(r,h) - y_correct) \u003c 1e-4)\r\n","published":true,"deleted":false,"likes_count":223,"comments_count":24,"created_by":162851,"edited_by":223089,"edited_at":"2022-07-06T08:49:20.000Z","deleted_by":null,"deleted_at":null,"solvers_count":29513,"test_suite_updated_at":"2022-07-06T08:49:20.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2019-08-13T19:36:28.000Z","updated_at":"2026-04-26T23:43:13.000Z","published_at":"2019-08-29T18:15:57.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven two input variables\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003er\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eh\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, which stand for the radius and height of a cake, calculate the surface area of the cake you need to put frosting on (all around the sides and the top).\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\u003eReturn the result in output variable\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eSA\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":233,"title":"Reverse the vector","description":"Reverse the vector elements.\r\n\r\nExample:\r\n\r\n Input  x = [1,2,3,4,5,6,7,8,9] \r\n Output y = [9,8,7,6,5,4,3,2,1]","description_html":"\u003cp\u003eReverse the vector elements.\u003c/p\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cpre\u003e Input  x = [1,2,3,4,5,6,7,8,9] \r\n Output y = [9,8,7,6,5,4,3,2,1]\u003c/pre\u003e","function_template":"function y = reverseVector(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 1;\r\nassert(isequal(reverseVector(x),y_correct))\r\n\r\n%%\r\nx = -10:1;\r\ny_correct = 1:-1:-10;\r\nassert(isequal(reverseVector(x),y_correct))\r\n\r\n%%\r\nx = 'able was i ere i saw elba';\r\ny_correct = 'able was i ere i saw elba';\r\nassert(isequal(reverseVector(x),y_correct))\r\n","published":true,"deleted":false,"likes_count":55,"comments_count":9,"created_by":868,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":16593,"test_suite_updated_at":"2016-10-23T02:09:16.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-02-02T15:28:45.000Z","updated_at":"2026-04-26T23:36:13.000Z","published_at":"2012-02-02T20:11:32.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\u003eReverse the vector elements.\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\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ Input  x = [1,2,3,4,5,6,7,8,9] \\n Output y = [9,8,7,6,5,4,3,2,1]]]\u003e\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":44946,"title":"Solve a System of Linear Equations","description":"Example:\r\nIf a system of linear equations in x₁ and x₂ is:\r\n2x₁ + x₂ = 2\r\nx₁ - 4 x₂ = 3\r\nThen the coefficient matrix (A) is:\r\n2  1\r\n1 -4\r\nAnd the constant vector (b) is:\r\n2\r\n3\r\nTo solve this system, use mldivide ( \\ ):\r\nx = A\\b\r\nProblem:\r\nGiven a constant input angle θ (theta) in radians, create the coefficient matrix (A) and constant vector (b) to solve the given system of linear equations in x₁ and x₂.\r\ncos(θ) x₁ + sin(θ) x₂ = 1\r\n-sin(θ) x₁ + cos(θ) x₂ = 1","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 477.717px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 406.5px 238.858px; transform-origin: 406.5px 238.858px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 31.2667px 7.81667px; transform-origin: 31.2667px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eExample\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2.23333px 7.81667px; transform-origin: 2.23333px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 104.408px 7.81667px; transform-origin: 104.408px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf a system of linear equations in\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2.23333px 7.81667px; transform-origin: 2.23333px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 8.375px 7.81667px; transform-origin: 8.375px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003ex₁ \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 11.725px 7.81667px; transform-origin: 11.725px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eand\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2.23333px 7.81667px; transform-origin: 2.23333px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 6.14167px 7.81667px; transform-origin: 6.14167px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003ex₂\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 10.05px 7.81667px; transform-origin: 10.05px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 3.90833px 7.81667px; transform-origin: 3.90833px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e2\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 6.14167px 7.81667px; transform-origin: 6.14167px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003ex₁\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 6.7px 7.81667px; transform-origin: 6.7px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e +\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2.23333px 7.81667px; transform-origin: 2.23333px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 6.14167px 7.81667px; transform-origin: 6.14167px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003ex₂\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 12.8417px 7.81667px; transform-origin: 12.8417px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 6.14167px 7.81667px; transform-origin: 6.14167px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003ex₁\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 12.8417px 7.81667px; transform-origin: 12.8417px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e - 4 \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 6.14167px 7.81667px; transform-origin: 6.14167px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003ex₂\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 12.8417px 7.81667px; transform-origin: 12.8417px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e = 3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 106.642px 7.81667px; transform-origin: 106.642px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThen the coefficient matrix (A) is:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 40.8667px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 403.5px 20.4333px; transform-origin: 403.5px 20.4333px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1.11667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1.11667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1.11667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1.11667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 403.5px 10.2167px; text-wrap-mode: nowrap; transform-origin: 403.5px 10.2167px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 15.6333px 8.375px; tab-size: 4; transform-origin: 15.6333px 8.375px; unicode-bidi: normal; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e2  1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1.11667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1.11667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1.11667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1.11667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 403.5px 10.2167px; text-wrap-mode: nowrap; transform-origin: 403.5px 10.2167px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 15.6333px 8.375px; tab-size: 4; transform-origin: 15.6333px 8.375px; unicode-bidi: normal; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e1 -4\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 97.15px 7.81667px; transform-origin: 97.15px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eAnd the constant vector (b) is:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 40.8667px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 403.5px 20.4333px; transform-origin: 403.5px 20.4333px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1.11667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1.11667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1.11667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1.11667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 403.5px 10.2167px; text-wrap-mode: nowrap; transform-origin: 403.5px 10.2167px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 3.90833px 8.375px; tab-size: 4; transform-origin: 3.90833px 8.375px; unicode-bidi: normal; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1.11667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1.11667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1.11667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1.11667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 403.5px 10.2167px; text-wrap-mode: nowrap; transform-origin: 403.5px 10.2167px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 3.90833px 8.375px; tab-size: 4; transform-origin: 3.90833px 8.375px; unicode-bidi: normal; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21.55px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 383.5px 10.775px; text-align: left; transform-origin: 383.5px 10.775px; white-space-collapse: preserve; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 82.075px 7.81667px; transform-origin: 82.075px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eTo solve this system, use\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2.23333px 7.81667px; transform-origin: 2.23333px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 31.2667px 7.81667px; transform-origin: 31.2667px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 31.2667px 8.375px; transform-origin: 31.2667px 8.375px; \"\u003emldivide\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 4.46667px 7.81667px; transform-origin: 4.46667px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e (\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2.23333px 7.81667px; transform-origin: 2.23333px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 3.90833px 7.81667px; transform-origin: 3.90833px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 3.90833px 8.375px; transform-origin: 3.90833px 8.375px; \"\u003e\\\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 6.7px 7.81667px; transform-origin: 6.7px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e ):\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 20.4333px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 403.5px 10.2167px; transform-origin: 403.5px 10.2167px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1.11667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1.11667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1.11667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1.11667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; text-wrap-mode: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 27.3583px 8.375px; tab-size: 4; transform-origin: 27.3583px 8.375px; unicode-bidi: normal; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003ex = A\\b\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 30.15px 7.81667px; transform-origin: 30.15px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eProblem\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2.23333px 7.81667px; transform-origin: 2.23333px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.5px 21px; text-align: left; transform-origin: 383.5px 21px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 376.875px 7.81667px; transform-origin: 376.875px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven a constant input angle θ (theta) in radians, create the coefficient matrix (A) and constant vector (b) to solve the given system of linear equations in\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 22.8917px 7.81667px; transform-origin: 22.8917px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e x₁ and\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 11.1667px 7.81667px; transform-origin: 11.1667px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e x₂.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 77.6083px 7.81667px; transform-origin: 77.6083px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ecos(θ) x₁ + sin(θ) x₂ = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 79.8417px 7.81667px; transform-origin: 79.8417px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e-sin(θ) x₁ + cos(θ) x₂ = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function x = solve_lin(theta)\r\n      \r\n    \r\n    x = A\\b; \r\nend","test_suite":"%%\r\nfiletext = fileread('solve_lin.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'regexp')\r\nassert(~illegal)\r\n\r\n%%\r\ntheta = 2*pi;\r\nx_correct = [1; 1];\r\nassert(sum(abs((solve_lin(theta)-x_correct)))\u003c 1e-5)\r\n\r\n%%\r\ntheta = pi;\r\nx_correct = [-1; -1];\r\nassert(sum(abs((solve_lin(theta)-x_correct)))\u003c 1e-5)\r\n\r\n%%\r\ntheta = -0.5;\r\nx_correct = [1.357;0.3982];\r\nassert(sum(abs((solve_lin(theta)-x_correct)))\u003c 1e-4)","published":true,"deleted":false,"likes_count":91,"comments_count":10,"created_by":162851,"edited_by":223089,"edited_at":"2024-07-04T13:15:36.000Z","deleted_by":null,"deleted_at":null,"solvers_count":14510,"test_suite_updated_at":"2024-07-04T13:15:36.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2019-08-19T14:40:46.000Z","updated_at":"2026-04-26T23:30:18.000Z","published_at":"2019-08-29T18:08:34.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e:\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\u003eIf a system of linear equations in\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ex₁ \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eand\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ex₂\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is:\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\u003e2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ex₁\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e +\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ex₂\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = 2\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:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ex₁\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e - 4 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ex₂\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = 3\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\u003eThen the coefficient matrix (A) is:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[2  1\\n1 -4]]\u003e\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\u003eAnd the constant vector (b) is:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[2\\n3]]\u003e\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\u003eTo solve this system, use\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003emldivide\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e\\\\\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e ):\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[x = A\\\\b]]\u003e\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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eProblem\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e:\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\u003eGiven a constant input angle θ (theta) in radians, create the coefficient matrix (A) and constant vector (b) to solve the given system of linear equations in\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e x₁ and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e x₂.\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\u003ecos(θ) x₁ + sin(θ) x₂ = 1\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\u003e-sin(θ) x₁ + cos(θ) x₂ = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":189,"title":"Sum all integers from 1 to 2^n","description":"Given the number x, y must be the summation of all integers from 1 to 2^x. For instance if x=2 then y must be 1+2+3+4=10.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 42px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 21px; transform-origin: 407px 21px; vertical-align: baseline; \"\u003e\u003cdiv style=\"font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 342.5px 8px; transform-origin: 342.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven the number x, y must be the summation of all integers from 1 to 2^x. For instance if x=2 then y must be 1+2+3+4=10.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = sum_int(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nfiletext = fileread('sum_int.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'regexp');\r\nassert(~illegal)\r\n%%\r\nx = 1;\r\ny_correct = 3;\r\nassert(isequal(sum_int(x),y_correct))\r\n\r\n%%\r\nx = 3;\r\ny_correct = 36;\r\nassert(isequal(sum_int(x),y_correct))\r\n\r\n%%\r\nx = 7;\r\ny_correct = 8256;\r\nassert(isequal(sum_int(x),y_correct))\r\n\r\n%%\r\nx = 10;\r\ny_correct = 524800;\r\nassert(isequal(sum_int(x),y_correct))\r\n\r\n%%\r\nx = 11;\r\ny_correct = 2098176;\r\nassert(isequal(sum_int(x),y_correct))\r\n\r\n%%\r\nx = 14;\r\ny_correct = 134225920;\r\nassert(isequal(sum_int(x),y_correct))\r\n\r\n%%\r\nx = 17;\r\ny_correct = 8590000128;\r\nassert(isequal(sum_int(x),y_correct))","published":true,"deleted":false,"likes_count":94,"comments_count":24,"created_by":431,"edited_by":223089,"edited_at":"2022-11-24T08:12:49.000Z","deleted_by":null,"deleted_at":null,"solvers_count":17621,"test_suite_updated_at":"2022-11-24T08:12:49.000Z","rescore_all_solutions":false,"group_id":27,"created_at":"2012-01-31T00:43:21.000Z","updated_at":"2026-04-27T02:04:11.000Z","published_at":"2012-01-31T00:45:23.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven the number x, y must be the summation of all integers from 1 to 2^x. For instance if x=2 then y must be 1+2+3+4=10.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":3056,"title":"Chess probability","description":"The difference in the ratings between two players serves as a predictor of the outcome of a match (the \u003chttp://en.wikipedia.org/wiki/Elo_rating_system Elo rating system\u003e)\r\n\r\nIf Player A has a rating of Ra and Player B a rating of Rb, the formula for the expected score of Player A is :\r\n\r\n\u003c\u003chttp://upload.wikimedia.org/math/b/0/3/b0366725c224ee55eab6e2371dc6a0ef.png\u003e\u003e\r\n \r\n* \r\n \r\n\r\nTwo players with equal ratings who play against each other are expected to score an equal number of wins. A player whose rating is 100 points greater than their opponent's is expected to score 64%; if the difference is 200 points, then the expected score for the stronger player is 76%.\r\n\r\nI give you two ELOs, compute the expected score (round to 3 digits), or probability  that the first player wins.\r\n\r\n\r\n","description_html":"\u003cp\u003eThe difference in the ratings between two players serves as a predictor of the outcome of a match (the \u003ca href = \"http://en.wikipedia.org/wiki/Elo_rating_system\"\u003eElo rating system\u003c/a\u003e)\u003c/p\u003e\u003cp\u003eIf Player A has a rating of Ra and Player B a rating of Rb, the formula for the expected score of Player A is :\u003c/p\u003e\u003cimg src = \"http://upload.wikimedia.org/math/b/0/3/b0366725c224ee55eab6e2371dc6a0ef.png\"\u003e\u003cul\u003e\u003cli\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eTwo players with equal ratings who play against each other are expected to score an equal number of wins. A player whose rating is 100 points greater than their opponent's is expected to score 64%; if the difference is 200 points, then the expected score for the stronger player is 76%.\u003c/p\u003e\u003cp\u003eI give you two ELOs, compute the expected score (round to 3 digits), or probability  that the first player wins.\u003c/p\u003e","function_template":"function y = expected_score(elo1,elo2)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1800;\r\ny = 1800;\r\nassert(isequal(expected_score(x,y),0.5))\r\n%%\r\nx = 1900;\r\ny = 1800;\r\nassert(isequal(expected_score(x,y),0.64))\r\n%%\r\nx = 1900;\r\ny = 2000;\r\nassert(isequal(expected_score(x,y),0.36))\r\n%%\r\nx = 1900;\r\ny = 2100;\r\nassert(isequal(expected_score(x,y),0.24))\r\n%% My probability against Maxime Vachier-Lagrave (best french player)\r\nx = 1800;\r\ny = 2775;\r\nassert(isequal(expected_score(x,y),0.004))\r\n%% My probability against Magnus Carlsen (World Chess Champion)\r\nx = 1800;\r\ny = 2865;\r\nassert(isequal(expected_score(x,y),0.002))\r\n%% Magnus against Maxime\r\nx = 2865;\r\ny = 2775;\r\nassert(isequal(expected_score(x,y),0.627))\r\n%% Magnus Carlsen against Garry Kasparov (1999)\r\nx = 2865;\r\ny = 2851;\r\nassert(isequal(expected_score(x,y),0.52))\r\n%% Magnus Carlsen against Fabiano Caruana\r\nx = 2865;\r\ny = 2844;\r\nassert(isequal(expected_score(x,y),0.53))\r\n%% Bobby Fisher (1972) against Magnus Carlsen\r\nx = 2785;\r\ny = 2865;\r\nassert(isequal(expected_score(x,y),0.387))\r\n%% Bobby Fisher (1972) against me\r\nx = 2785;\r\ny = 1800;\r\nassert(isequal(expected_score(x,y),0.997))\r\n","published":true,"deleted":false,"likes_count":6,"comments_count":0,"created_by":5390,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":690,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2015-02-28T22:51:09.000Z","updated_at":"2026-04-26T01:03:13.000Z","published_at":"2015-02-28T22:52:00.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\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.png\"}],\"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\u003eThe difference in the ratings between two players serves as a predictor of the outcome of a match (the\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://en.wikipedia.org/wiki/Elo_rating_system\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eElo rating system\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\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\u003eIf Player A has a rating of Ra and Player B a rating of Rb, the formula for the expected score of Player A is :\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:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\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\u003eTwo players with equal ratings who play against each other are expected to score an equal number of wins. A player whose rating is 100 points greater than their opponent's is expected to score 64%; if the difference is 200 points, then the expected score for the stronger player is 76%.\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\u003eI give you two ELOs, compute the expected score (round to 3 digits), or probability that the first player wins.\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\"},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM4AAAArBAMAAADCuKrGAAAAMFBMVEX///90dHQEBAQwMDCenp5QUFAWFhbm5ubMzMyKioq2trZAQEAMDAwiIiJiYmIAAADHPVvyAAAAAXRSTlMAQObYZgAAAuJJREFUeNrtV0toE2EQ/pJs91+TZpuKKZ7aHDxZhKBo8WCNQj14qNHiAxFZRNIHVAPFi0UbFC8qEqh40cOePBUfUAoS0BQPvhByqXqoEK1CaauNXswWu3H+JF03TbV5dHPqwGYzM//u98/881qgOhoscZ29OhjnkRIXOqqCYdvmXqMmtKc2fiuZ1nHWcdZxikmrDU7Xq53hkhbagG8Nz7Cl0WO565xkuxS3/nwEHUinrMfJ9NLdbz2OPYUkVOtD+2GA+S0HEYDAzQ82nyEYe8R/+yxAfoc6671G+dM6If+U0oC4sEyXWSuQHzw5JQ0MdfRnPmxpvGk6Fam9lK5q9kzGQpwSqz4Y+beK71cq2rSDxwC9V6iPlrE/+T/GH6fLVWRPhpx3ia57v4Jl4NyIYv5pV8HODH4kx9ep0uETuOYly9m43dV/N7brShRS50xw9amWCwabaWEboO4f7THrDF4PABv4aKe3PMDn2SSJFFMi2ZSiCvt2JcFLDMNJWdYEHqV/yeB52vvBmtQRiAfjOFvQfybhWF6zWau6gkDuwXlVoD214MK0WWvwGnnHB5ZCH9gLFf1mnKvTGJpY3ivfLIWd2yRI+yAEFsnpKe+sD/fbpwL5RVkeUraeLPpxPRtdH42HS5me3SZBgwcOxRWAlEI7aSJCwhaLxR7nebjI0m76PGBRUW2C+EnBucr6djgCSaHSoSWxSDUjkolnOjo6DuV57KaYe4IDWDg9uekOxF4FxyrD4TVEEVTYPRiWcLHxfT6TcjzqGUUeWZTZuHVOCWOM4XfFc0gaepCdOglvEpvnt+djJMfLvgEIUcYFU7f1fZ344k1Wdj5DUbjjPH+yNAqxICgHvo/DFbGV2QCyOK5Q6Ewo1G+KA7diZHD3UvbnKYijuFX2V+JK9ohBiEk4cyVG1r+2FZiTkCZVDy6vAY6cQINaQV8oa6olgZaGrKwtTtFUywXa8+YdVnVDN2pDjqrf8Af8bczR/4tLjAAAAABJRU5ErkJggg==\"}]}"},{"id":174,"title":"Roll the Dice!","description":"Description\r\nReturn two random integers between 1 and 6, inclusive, to simulate rolling 2 dice.\r\nExample\r\n   [x1,x2] = rollDice();\r\n   x1 = 5;\r\n   x2 = 2;","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 152.312px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407.5px 76.1562px; transform-origin: 407.5px 76.1562px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384.5px 10.5px; text-align: left; transform-origin: 384.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eDescription\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384.5px 10.5px; text-align: left; transform-origin: 384.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eReturn two random integers between 1 and 6, inclusive, to simulate rolling 2 dice.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384.5px 10.5px; text-align: left; transform-origin: 384.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eExample\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 61.3125px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404.5px 30.6562px; transform-origin: 404.5px 30.6562px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4375px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.666667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.666667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.666667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.666667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404.5px 10.2188px; text-wrap: nowrap; transform-origin: 404.5px 10.2188px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; unicode-bidi: normal; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e   [x1,x2] = rollDice();\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4375px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.666667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.666667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.666667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.666667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404.5px 10.2188px; text-wrap: nowrap; transform-origin: 404.5px 10.2188px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; unicode-bidi: normal; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e   x1 = 5;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4375px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.666667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.666667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.666667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.666667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404.5px 10.2188px; text-wrap: nowrap; transform-origin: 404.5px 10.2188px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; unicode-bidi: normal; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e   x2 = 2;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [x1,x2] = rollDice()\r\n  x1 = 1;\r\n  x2 = 1;\r\nend","test_suite":"%%\r\nfiletext = fileread('rollDice.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'regexp');\r\nassert(~illegal)\r\n\r\n%%\r\nx1 = zeros(1,6000);\r\nx2 = zeros(1,6000);\r\nfor ii = 1:6000\r\n    [x1(ii),x2(ii)] = rollDice();\r\nend\r\nnumCt = sum( bsxfun( @eq, x1, (1:6)' ), 2 ) + sum( bsxfun( @eq, x2, (1:6)' ), 2 );\r\nassert(all(round(numCt/200) == 10) \u0026\u0026 sum(numCt) == 12000)\r\n","published":true,"deleted":false,"likes_count":62,"comments_count":21,"created_by":134,"edited_by":427930,"edited_at":"2024-08-01T11:35:52.000Z","deleted_by":null,"deleted_at":null,"solvers_count":10739,"test_suite_updated_at":"2012-01-30T07:51:11.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-01-30T07:38:01.000Z","updated_at":"2026-04-27T01:13:48.000Z","published_at":"2024-08-01T11:35:52.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eDescription\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\u003eReturn two random integers between 1 and 6, inclusive, to simulate rolling 2 dice.\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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[   [x1,x2] = rollDice();\\n   x1 = 5;\\n   x2 = 2;]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":1087,"title":"Magic is simple (for beginners)","description":"Determine for a magic square of order n, the magic sum m. For example m=15 for a magic square of order 3.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 21px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 406.5px 10.5px; transform-origin: 406.5px 10.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 350.075px 7.81667px; transform-origin: 350.075px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eDetermine for a magic square of order n, the magic sum m. For example m=15 for a magic square of order 3.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function m = magic_sum(n)\r\n  m=n;\r\nend","test_suite":"%%\r\nfiletext = fileread('magic_sum.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'regexp');\r\nassert(~illegal)\r\n\r\n%%\r\nn = 3;\r\ny_correct = 15;\r\nassert(isequal(magic_sum(n),y_correct))\r\n%%\r\nn = 5;\r\ny_correct = 65;\r\nassert(isequal(magic_sum(n),y_correct))\r\n%%\r\nn = 7;\r\ny_correct = 175;\r\nassert(isequal(magic_sum(n),y_correct))\r\n%%\r\nn = 8;\r\ny_correct = 260;\r\nassert(isequal(magic_sum(n),y_correct))\r\n%%\r\nn = 20;\r\ny_correct = 4010;\r\nassert(isequal(magic_sum(n),y_correct))\r\n%%\r\nn = 100;\r\ny_correct = 500050;\r\nassert(isequal(magic_sum(n),y_correct))\r\n%%\r\nn = 200;\r\ny_correct = 4000100;\r\nassert(isequal(magic_sum(n),y_correct))\r\n%%\r\nn = 1000;\r\ny_correct = 500000500;\r\nassert(isequal(magic_sum(n),y_correct))\r\n\r\n","published":true,"deleted":false,"likes_count":56,"comments_count":13,"created_by":5390,"edited_by":223089,"edited_at":"2024-06-30T07:10:20.000Z","deleted_by":null,"deleted_at":null,"solvers_count":11335,"test_suite_updated_at":"2024-06-30T07:10:20.000Z","rescore_all_solutions":false,"group_id":18,"created_at":"2012-12-04T00:24:57.000Z","updated_at":"2026-04-27T02:02:50.000Z","published_at":"2012-12-04T00:26:29.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eDetermine for a magic square of order n, the magic sum m. For example m=15 for a magic square of order 3.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":12,"title":"Fibonacci sequence","description":"Calculate the nth Fibonacci number.\r\nGiven n, return f where f = fib(n) and f(1) = 1, f(2) = 1, f(3) = 2, ...\r\nExamples:\r\n Input  n = 5\r\n Output f is 5\r\n\r\n Input  n = 7\r\n Output f is 13","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 181px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 90.5px; transform-origin: 468.5px 90.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 111.642px 8px; transform-origin: 111.642px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eCalculate the nth Fibonacci number.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 199.117px 8px; transform-origin: 199.117px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven n, return f where f = fib(n) and f(1) = 1, f(2) = 1, f(3) = 2, ...\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 32.675px 8px; transform-origin: 32.675px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eExamples:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 90px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 464.5px 45px; transform-origin: 464.5px 45px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 18px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; line-height: 18px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 464.5px 9px; text-wrap-mode: nowrap; transform-origin: 464.5px 9px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(33, 33, 33); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(33, 33, 33); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(33, 33, 33); border-left-style: none; border-left-width: 0px; border-right-color: rgb(33, 33, 33); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 50.05px 8.5px; tab-size: 4; transform-origin: 50.05px 8.5px; unicode-bidi: normal; white-space-collapse: preserve; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 30.8px 8.5px; transform-origin: 30.8px 8.5px; \"\u003e Input  \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(133, 22, 209); border-block-start-color: rgb(133, 22, 209); border-bottom-color: rgb(133, 22, 209); border-inline-end-color: rgb(133, 22, 209); border-inline-start-color: rgb(133, 22, 209); border-left-color: rgb(133, 22, 209); border-right-color: rgb(133, 22, 209); border-top-color: rgb(133, 22, 209); caret-color: rgb(133, 22, 209); color: rgb(133, 22, 209); column-rule-color: rgb(133, 22, 209); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(133, 22, 209); perspective-origin: 19.25px 8.5px; text-decoration-color: rgb(133, 22, 209); text-emphasis-color: rgb(133, 22, 209); transform-origin: 19.25px 8.5px; \"\u003en = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 18px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; line-height: 18px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 464.5px 9px; text-wrap-mode: nowrap; transform-origin: 464.5px 9px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(33, 33, 33); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(33, 33, 33); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(33, 33, 33); border-left-style: none; border-left-width: 0px; border-right-color: rgb(33, 33, 33); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 53.9px 8.5px; tab-size: 4; transform-origin: 53.9px 8.5px; unicode-bidi: normal; white-space-collapse: preserve; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 30.8px 8.5px; transform-origin: 30.8px 8.5px; \"\u003e Output \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(133, 22, 209); border-block-start-color: rgb(133, 22, 209); border-bottom-color: rgb(133, 22, 209); border-inline-end-color: rgb(133, 22, 209); border-inline-start-color: rgb(133, 22, 209); border-left-color: rgb(133, 22, 209); border-right-color: rgb(133, 22, 209); border-top-color: rgb(133, 22, 209); caret-color: rgb(133, 22, 209); color: rgb(133, 22, 209); column-rule-color: rgb(133, 22, 209); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(133, 22, 209); perspective-origin: 23.1px 8.5px; text-decoration-color: rgb(133, 22, 209); text-emphasis-color: rgb(133, 22, 209); transform-origin: 23.1px 8.5px; \"\u003ef is 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 18px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; line-height: 18px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 464.5px 9px; text-wrap-mode: nowrap; transform-origin: 464.5px 9px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(33, 33, 33); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(33, 33, 33); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(33, 33, 33); border-left-style: none; border-left-width: 0px; border-right-color: rgb(33, 33, 33); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 8.5px; tab-size: 4; transform-origin: 0px 8.5px; unicode-bidi: normal; white-space-collapse: preserve; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 18px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; line-height: 18px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 464.5px 9px; text-wrap-mode: nowrap; transform-origin: 464.5px 9px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(33, 33, 33); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(33, 33, 33); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(33, 33, 33); border-left-style: none; border-left-width: 0px; border-right-color: rgb(33, 33, 33); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 50.05px 8.5px; tab-size: 4; transform-origin: 50.05px 8.5px; unicode-bidi: normal; white-space-collapse: preserve; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 30.8px 8.5px; transform-origin: 30.8px 8.5px; \"\u003e Input  \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(133, 22, 209); border-block-start-color: rgb(133, 22, 209); border-bottom-color: rgb(133, 22, 209); border-inline-end-color: rgb(133, 22, 209); border-inline-start-color: rgb(133, 22, 209); border-left-color: rgb(133, 22, 209); border-right-color: rgb(133, 22, 209); border-top-color: rgb(133, 22, 209); caret-color: rgb(133, 22, 209); color: rgb(133, 22, 209); column-rule-color: rgb(133, 22, 209); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(133, 22, 209); perspective-origin: 19.25px 8.5px; text-decoration-color: rgb(133, 22, 209); text-emphasis-color: rgb(133, 22, 209); transform-origin: 19.25px 8.5px; \"\u003en = 7\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 18px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; line-height: 18px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 464.5px 9px; text-wrap-mode: nowrap; transform-origin: 464.5px 9px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(33, 33, 33); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(33, 33, 33); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(33, 33, 33); border-left-style: none; border-left-width: 0px; border-right-color: rgb(33, 33, 33); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 57.75px 8.5px; tab-size: 4; transform-origin: 57.75px 8.5px; unicode-bidi: normal; white-space-collapse: preserve; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 30.8px 8.5px; transform-origin: 30.8px 8.5px; \"\u003e Output \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(133, 22, 209); border-block-start-color: rgb(133, 22, 209); border-bottom-color: rgb(133, 22, 209); border-inline-end-color: rgb(133, 22, 209); border-inline-start-color: rgb(133, 22, 209); border-left-color: rgb(133, 22, 209); border-right-color: rgb(133, 22, 209); border-top-color: rgb(133, 22, 209); caret-color: rgb(133, 22, 209); color: rgb(133, 22, 209); column-rule-color: rgb(133, 22, 209); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(133, 22, 209); perspective-origin: 26.95px 8.5px; text-decoration-color: rgb(133, 22, 209); text-emphasis-color: rgb(133, 22, 209); transform-origin: 26.95px 8.5px; \"\u003ef is 13\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function f = fib(n)\r\n  f = n;\r\nend","test_suite":"%%\r\nfiletext = fileread('fib.m');\r\nillegal = contains(filetext, 'regexp') || contains(filetext, 'assert') || ...\r\n          contains(filetext, 'switch') || contains(filetext, 'elseif') || ...\r\n          contains(filetext, '610')     || contains(filetext, '1597');\r\nassert(~illegal)\r\n\r\n%%\r\nn = 1;\r\nf = 1;\r\nassert(isequal(fib(n),f))\r\n\r\n%%\r\nn = 6;\r\nf = 8;\r\nassert(isequal(fib(n),f))\r\n\r\n%%\r\nn = 7;\r\nf = 13;\r\nassert(isequal(fib(n),f))\r\n\r\n%%\r\nn = 10;\r\nf = 55;\r\nassert(isequal(fib(n),f))\r\n\r\n%%\r\nn = 12;\r\nf = 144;\r\nassert(isequal(fib(n),f))\r\n\r\n%%\r\nn = 15;\r\nf = 610;\r\nassert(isequal(fib(n),f))\r\n\r\n%%\r\nn = 17;\r\nf = 1597;\r\nassert(isequal(fib(n),f))\r\n\r\n%%\r\nn = 20;\r\nf = 6765;\r\nassert(isequal(fib(n),f))","published":true,"deleted":false,"likes_count":108,"comments_count":25,"created_by":1,"edited_by":223089,"edited_at":"2026-02-05T13:22:21.000Z","deleted_by":null,"deleted_at":null,"solvers_count":14179,"test_suite_updated_at":"2026-02-05T13:22:22.000Z","rescore_all_solutions":false,"group_id":2,"created_at":"2012-01-18T01:00:18.000Z","updated_at":"2026-04-27T01:25:10.000Z","published_at":"2012-01-18T01:00:18.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eCalculate the nth Fibonacci number.\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\u003eGiven n, return f where f = fib(n) and f(1) = 1, f(2) = 1, f(3) = 2, ...\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\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ Input  n = 5\\n Output f is 5\\n\\n Input  n = 7\\n Output f is 13]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":231,"title":"Differential equations I","description":"Given a function handle |f| an initial condition |y0| and a final time |tf|, solve numerically the differential equation\r\n\r\n  dy/dt = f(y)\r\n\r\nfor the function |y(t)| between |t=0| and |t=tf|. Give as a result |res=y(tf)|.\r\n\r\nExample:\r\n\r\n   f = @(x) -x;\r\n   tf= 1;\r\n   y0= 1;\r\n\r\n =\u003e y(tf) = 1/e = 0.367879441171442\r\n\r\nRemarks: aim at a relative precision of around 1e-6. The function is analytic in the interval [0,1].","description_html":"\u003cp\u003eGiven a function handle \u003ctt\u003ef\u003c/tt\u003e an initial condition \u003ctt\u003ey0\u003c/tt\u003e and a final time \u003ctt\u003etf\u003c/tt\u003e, solve numerically the differential equation\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003edy/dt = f(y)\r\n\u003c/pre\u003e\u003cp\u003efor the function \u003ctt\u003ey(t)\u003c/tt\u003e between \u003ctt\u003et=0\u003c/tt\u003e and \u003ctt\u003et=tf\u003c/tt\u003e. Give as a result \u003ctt\u003eres=y(tf)\u003c/tt\u003e.\u003c/p\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cpre\u003e   f = @(x) -x;\r\n   tf= 1;\r\n   y0= 1;\u003c/pre\u003e\u003cpre\u003e =\u003e y(tf) = 1/e = 0.367879441171442\u003c/pre\u003e\u003cp\u003eRemarks: aim at a relative precision of around 1e-6. The function is analytic in the interval [0,1].\u003c/p\u003e","function_template":"function res = deqnsolve(f,y0,tf)\r\n  res = 0;\r\nend","test_suite":"%% \r\nf = @(x) -x;\r\ntf =1;\r\ny0 =1;\r\nassert(abs(deqnsolve(f,y0,tf)-exp(-1)) \u003c 1e-5)\r\n\r\n%% \r\nf = @sin;\r\ntf =1;\r\ny0 =1/2;\r\nassert(abs(deqnsolve(f,y0,tf)-2*acot(exp(-1)*cot(1/4))) \u003c 1e-5)\r\n\r\n%% \r\nf = @(x) 1/(x+1);\r\ntf =6;\r\ny0 =1;\r\nassert(abs(deqnsolve(f,y0,tf)-3) \u003c 1e-5)\r\n\r\n%% a randomized one\r\na = rand*0.9;\r\nf = @(x) x-a*x^2;\r\ntf = rand+1.5;\r\ny0=1;\r\nassert(abs(deqnsolve(f,y0,tf)-exp(tf)/(1-a+a*exp(tf))) \u003c 1e-5)","published":true,"deleted":false,"likes_count":3,"comments_count":5,"created_by":203,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":196,"test_suite_updated_at":"2012-02-02T15:10:17.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-02-02T14:57:14.000Z","updated_at":"2026-04-26T01:10:14.000Z","published_at":"2012-02-02T15:20:18.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\u003eGiven a function handle\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ef\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e an initial condition\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ey0\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and a final time\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003etf\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, solve numerically the differential equation\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[dy/dt = f(y)]]\u003e\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\u003efor the function\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ey(t)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e between\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003et=0\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003et=tf\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. Give as a result\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eres=y(tf)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\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\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[   f = @(x) -x;\\n   tf= 1;\\n   y0= 1;\\n\\n =\u003e y(tf) = 1/e = 0.367879441171442]]\u003e\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\u003eRemarks: aim at a relative precision of around 1e-6. The function is analytic in the interval [0,1].\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":597,"title":"The Birthday Phenomenon","description":"First off, leap years are not being considered for this. In fact the year that people are born shouldn't be taken into consideration, for simplicity.\r\n\r\nThe basic question is given an input, a single integer representing the number of people in the room (X \u003e= 1).  Return the probability that 2 or more people share the same birthday.\r\n\r\nThe return from the function should be a value between 0 and 1, inclusive.  It should also be rounded out to the 10 thousandth decimal point (4 after the decimal point).  There should be no trailing zeros included.\r\n","description_html":"\u003cp\u003eFirst off, leap years are not being considered for this. In fact the year that people are born shouldn't be taken into consideration, for simplicity.\u003c/p\u003e\u003cp\u003eThe basic question is given an input, a single integer representing the number of people in the room (X \u0026gt;= 1).  Return the probability that 2 or more people share the same birthday.\u003c/p\u003e\u003cp\u003eThe return from the function should be a value between 0 and 1, inclusive.  It should also be rounded out to the 10 thousandth decimal point (4 after the decimal point).  There should be no trailing zeros included.\u003c/p\u003e","function_template":"function y = bday_phenom(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 0;\r\nassert(isequal(bday_phenom(x),y_correct))\r\n\r\n%%\r\nx = 2;\r\ny_correct = 0.0027;\r\nassert(isequal(bday_phenom(x),y_correct))\r\n\r\n%%\r\nx = 5;\r\ny_correct = 0.0271;\r\nassert(isequal(bday_phenom(x),y_correct))\r\n\r\n%%\r\nx = 10;\r\ny_correct = 0.1169;\r\nassert(isequal(bday_phenom(x),y_correct))\r\n\r\n%%\r\nx = 20;\r\ny_correct = 0.4114;\r\nassert(isequal(bday_phenom(x),y_correct))\r\n\r\n%%\r\nx = 30;\r\ny_correct = 0.7063;\r\nassert(isequal(bday_phenom(x),y_correct))\r\n\r\n%%\r\nx = 50;\r\ny_correct = 0.9703;\r\nassert(isequal(bday_phenom(x),y_correct))\r\n\r\n%%\r\nx = 366;\r\ny_correct = 1;\r\nassert(isequal(bday_phenom(x),y_correct))\r\n\r\n%%\r\nx = 4873;\r\ny_correct = 1;\r\nassert(isequal(bday_phenom(x),y_correct))","published":true,"deleted":false,"likes_count":6,"comments_count":8,"created_by":3296,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":259,"test_suite_updated_at":"2012-04-20T15:35:29.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-04-18T19:30:11.000Z","updated_at":"2026-04-26T01:07:37.000Z","published_at":"2012-04-19T16:28:12.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\u003eFirst off, leap years are not being considered for this. In fact the year that people are born shouldn't be taken into consideration, for simplicity.\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\u003eThe basic question is given an input, a single integer representing the number of people in the room (X \u0026gt;= 1). Return the probability that 2 or more people share the same birthday.\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\u003eThe return from the function should be a value between 0 and 1, inclusive. It should also be rounded out to the 10 thousandth decimal point (4 after the decimal point). There should be no trailing zeros included.\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":179,"title":"Monte-Carlo integration","description":"Write a function that estimates a d-dimensional integral to at least 1% relative precision.\r\n\r\nInputs:\r\n\r\n* d: positive integer. The dimension of the integral.\r\n* fun: function handle. The function accepts a row-vector of length d as an argument and returns a real scalar as a result.\r\n\r\nOutput:\r\n\r\n* I: is the integral over fun from 0 to 1 in each direction.\r\n\r\n     1     1        1            \r\n     /     /        /           \r\n I = |dx_1 |dx_2 ...| dx_d  fun([x_1,x_2,...,x_d])\r\n     /     /        /            \r\n     0     0        0            \r\n\r\nExample:\r\n\r\n  fun = @(x) x(1)*x(2)\r\n  d = 2\r\n\r\nThe result should be 0.25. An output I=0.2501 would be acceptable, because the relative deviation would be abs(0.25-0.2501)/0.25 which is smaller than 1%.\r\n\r\nThe functions in the test-suite are all positive and generally 'well behaved', i.e. not fluctuating too much. Some of the tests hav a relatively large d.","description_html":"\u003cp\u003eWrite a function that estimates a d-dimensional integral to at least 1% relative precision.\u003c/p\u003e\u003cp\u003eInputs:\u003c/p\u003e\u003cul\u003e\u003cli\u003ed: positive integer. The dimension of the integral.\u003c/li\u003e\u003cli\u003efun: function handle. The function accepts a row-vector of length d as an argument and returns a real scalar as a result.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eOutput:\u003c/p\u003e\u003cul\u003e\u003cli\u003eI: is the integral over fun from 0 to 1 in each direction.\u003c/li\u003e\u003c/ul\u003e\u003cpre\u003e     1     1        1            \r\n     /     /        /           \r\n I = |dx_1 |dx_2 ...| dx_d  fun([x_1,x_2,...,x_d])\r\n     /     /        /            \r\n     0     0        0            \u003c/pre\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003efun = @(x) x(1)*x(2)\r\nd = 2\r\n\u003c/pre\u003e\u003cp\u003eThe result should be 0.25. An output I=0.2501 would be acceptable, because the relative deviation would be abs(0.25-0.2501)/0.25 which is smaller than 1%.\u003c/p\u003e\u003cp\u003eThe functions in the test-suite are all positive and generally 'well behaved', i.e. not fluctuating too much. Some of the tests hav a relatively large d.\u003c/p\u003e","function_template":"function I = dquad(d,fun)\r\n  I=fun(0.5*ones(1,d));\r\nend","test_suite":"%% 1d integral: integrate x^2 from 0 to 1\r\nfun = @(x) x^2;\r\nassert(abs((dquad(1,fun) - 1/3)*3)\u003c0.01)\r\n\r\n%% 2d integral from the example\r\nfun = @(x) x(1)*x(2);\r\nassert(abs((dquad(2,fun) - 0.25)*4)\u003c0.01)\r\n\r\n%% constant in most dimensions\r\nfun = @(x) 1+sin(x(1));\r\nassert(abs((dquad(50,fun) -  1.45969769)/1.45969769)\u003c0.01)\r\n\r\n%% volume of d-dimensional 2^d box with a spherical hole, d between 5 and 10\r\nd = randi([5 10],1)\r\nr = rand*0.8\r\nfun = @(x) 2^d*(norm(x)\u003er);\r\ndball = exp(d/2*log(pi)+d*log(r)-gammaln(d/2+1));\r\nassert(abs((dquad(d,fun) - 2^d+dball)/(2^d-dball))\u003c0.01)\r\n","published":true,"deleted":false,"likes_count":7,"comments_count":8,"created_by":203,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":159,"test_suite_updated_at":"2012-01-31T21:50:54.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-01-30T15:04:16.000Z","updated_at":"2026-04-26T01:08:53.000Z","published_at":"2012-02-01T19:02:46.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\u003eWrite a function that estimates a d-dimensional integral to at least 1% relative precision.\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\u003eInputs:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ed: positive integer. The dimension of the integral.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003efun: function handle. The function accepts a row-vector of length d as an argument and returns a real scalar as a result.\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\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eI: is the integral over fun from 0 to 1 in each direction.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[     1     1        1            \\n     /     /        /           \\n I = |dx_1 |dx_2 ...| dx_d  fun([x_1,x_2,...,x_d])\\n     /     /        /            \\n     0     0        0]]\u003e\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\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[fun = @(x) x(1)*x(2)\\nd = 2]]\u003e\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\u003eThe result should be 0.25. An output I=0.2501 would be acceptable, because the relative deviation would be abs(0.25-0.2501)/0.25 which is smaller than 1%.\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\u003eThe functions in the test-suite are all positive and generally 'well behaved', i.e. not fluctuating too much. Some of the tests hav a relatively large d.\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":47618,"title":"Create initial basic feasible solution for transportation problems - North-West Corner Method","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 551.25px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 275.625px; transform-origin: 407px 275.625px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 341.25px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 170.625px; text-align: left; transform-origin: 384px 170.625px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABk8AAALBCAMAAAGxffbgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHjUExURQAAAIfBSmiUOSwsLAAAAAAAAGCINAAAAAAAAIC2RpLQUAAAAAAAAAAAAAAAAAAAAC8vL8nJyQAAAAAAAKOjowAAAAAAAAAAAAAAAAAAAAAAAFlZWaampgAAAAAAAAAAAAAAAIGBgQAAAA4ODgAAAAAAAAAAAAAAAAAAADY2NgAAAAAAAAAAABEREV5eXgAAAAAAAAAAAAsQBhQdCwAAAIeHhxAXCQAAAAAAAAAAAAAAAAAAADw8PAAAAAAAACk6FjJHGwAAAAAAABwnDz09PSU0FEloKFuCMgAAALGxsW2cPFd8MBgYGAAAAGVlZXeqQQAAANnZ2QAAAAAAAAAAAAAAAAAAAHCfPY6OjgAAABsbGwAAAGhoaH+0RQAAAAAAAAAAAAAAAENDQwAAAAAAAAAAAAAAAAAAAB4eHgAAAAAAAAAAAGxsbAAAAAAAAAAAAAAAAAAAAAAAAEhISAAAALy8vAAAAAAAAAAAAAAAAAAAAEpKSgAAAAAAAL6+vgAAAAAAAAAAAAAAAAAAAAAAAAAAABIaCpqamgAAAC1BGQoOBQAAAAAAACgoKHV1dTxWIQAAAE5wKwAAAAAAAHZ2dkZkJgAAAB4qEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJSUihWW7AAAACgdFJOUwD////DsP9cCP//y7gj+WT//xDm/xju20aHdP//IONOj/98/yj+quuX/zDzn///Szj7//9A//+v8FvdSP81dv//tyL//////1D/////v///Kv/tWARFx///YP8M///PJ/1o/xTqlteD/y9wHP/fSosk55P/gP8s71qb3P+INP/3YqOQPP9q//+r//9Ehf///3L/s/T//0z/u/xnqBPpVJXvxf2sAAAACXBIWXMAABcRAAAXEQHKJvM/AABw9klEQVR4Xu29jWMcyZneNyBkSgeMo+Bijy4mVhEFJ8pJsnMb7EX5gIc0Etli1msGgXKgTqScWB6LWN0icnL0RUNbGxnlowMhYJh4TRmYOP5T89bH+1Z/THXPdDW6GjPPb5czNY356Orqp39d/TkA4HZRv1CuVGIyGbtSNZ+459skOJIZ9Ht+EHjj+eByka/oU1WIb37LPuc4H5y5UiU9qwrx6y+5gkB/O3TFKvpXFeInv3SFMMPJYFCIUKEqYzUYuuJ8lBpMq0dtfFwc98xL+vh8isO/86krBBjSJ6qrUgvVZHzqygFKy5tsVcyLORWaU0X1G1eYxwJVOR/MXGk+ZkxsMUTpz9kBpklNVWgOyUBDTDVHKjtXqJ+7wiKkyYqpjy06zCt6UKowrdUPXaGWXsa+wCKfJ+5CVYhFvqI3VTmuQ90NFqtuga0C33fDBTfc44ZH8MlRHaiKsKEfaqqi7kZV1MnWo9WoynvzWF2Vd3ekVQyI/VI0qMpku75ybvyEFFVR7tlTqsrs8E5U5eFeqS7zZrDaqhTpYsWlNIM9dM9Co6wUSVKVEm1VpboHTJyX+oUFRu45QGtV2XbP81mkKrXUjEefWsU9h6keke6qcuugKsuCqixFqqo4x3vccI8bLrjBYVCVZamuCvXOKqtyb2veG4r0o1XuV1blxWLdzH5UZd6Yuj9p6M93piqEG+5xwwU3OAyqsiw9rUqTmqWoilqo67V0bUpVuQVKVanvEM8uT+9GVdyzZ8E2qO6OUFXqv6X2HVP3PJ/WYl9blVpq2zq/W7FEd1U5dsUgwT3UTM3fW6tK9Zv0DFZ7qELt73Q0g1WTIvZlUJU8d6cqf1rHZ+55Cf5WATfY44YLf/4ndaRqFbe+IrjBHjdc+L6b9mFQlTyRVaH+cFVVqGtGPc2VaJWnppt5N6qiqnvM780udWRlWXpalSY1S1AVtekKnvK42yMTlyJFVcp9r1JV6nfplGlQlaUprrioV64gNJujCqSoSpnWqhK/M7Ka1qpy6Z7no6sSPUVqvuAureTX7Ay/S1WpAVVZFlRlKdqpintrmN93z7dJ/W+gKnlQlaVAVQq4t4ZBVZbiVqry8uio0Fco/0x5n1SBK/cc4KD0FaXf2NQjkiVXlSm9cP/NTv2xjO6tQum42OLP7BV/ZQ7Vlb16U/cbD+hf/j25qkzc+Sz6/8xg91ZP3c/UVUR/vroq5T8Xf+PNm6qq2EpQa0yyQ0tVUYome47Cz6id0jQtUfOGg9IbilU5enL0zJUc+ZGej3trmNLP3AL1v4Gq5EFVlgJVKeDeGgZVWYpFqgIAWJDwJQLGQ71MqF8uxPORe47AjWZobMd6d8vdqgoxd4TH5zT8zlWFKI+zqcddrAoxb7QLw8Z17aSGdYfkjUeDG1d0FKqir24S3pMouy9yvzLnJ0uDqkerjOlQu3KQwhsKVRkOBmfhqtBnzbRSSmWOczTfWPrd/IDSn2tQg3H1uYdzvrJcler9u64q2YMUzXfq4bagHww/9MXy794CS2elPFJSAykIH/Cr3NBb4hZin+dflSt4S9x6VYhvfucOVcVddybMf2mv+NJ7XJWqKE0xd9SJxw33uOFCCw3r+ldhUBXPx+9rThVUb/WDGx6BG+Ew8a1ScwynOZrwblTlfc2Bj/ZUwbvRKho33OOGC6hKFjfCYcq/sV06BKiXVVGloyfLv1Ee0tOqFPcBzvmN0qBSVZan/aoQhX1ri/xGX6tSYMGqXLtiUxaqSvWb3AiHWbRV6i6NUwP9TP0vdVSVmpMW61jkZ2pwIxxm0apEgqpkcSMcBlVZljtcFSd5ofQzbrjHDQ/jRjgMqlKHGz8Ldc4qqvL0/dY9enLDw7gRDtNFVajzVdUqylzn1Q0P40Y4TBdVIaqqQsy7/E4RN8Jh+lEVwg0P40Y4DKpShxs/IVlVCgN7WZXn5lDRLHOqUhrUoCpF5k6x5XAjnKG2Q6zsHqUMPa1K/WaKMlSV2pMlr6u/aKGqVN/qxY1wmAWrUk/1tU8W+ZnqO2p0WJVq9Fxbe+Jk9bi4EQ6zYFVq31azo2aRn6nZfOBGOMyCVYllkZ+pwY1wGFRlWXpTFXeRmAiUexbcdWY8brjgBnvcdWfCpGoVt7riccMFN9jjpn0YVGVZqquid7y64YL9i+VE7wR0IxymH63yqK5V6A1uhMP0oyqEGy64wYaNi6fISpG7XJXCwJ5WpXgeYLkq5eMe+1kVtcBu1VEXrbI8boQ9O7WtUqanVSmyaFXq3lfzd/pz7S/VvMGNcJjaHyAWaZXiXQ0LLFKVmne4EQ7TVlVq7mpyp6pSzSI/U4Mb4TCoyrKgKlncCIdZqCruvRHUnJLeCqjKsqAqS4GqLAuqshQVVZE/FavyoO7iJjTihXEvVuXg6LUrBdg8UruuOJcDvScyf2GcbFWorM70eSDqWD8Eq0LUTeXi3wuvdw5qvuBB3U9QH7J4gZViVUwF3KMZSBSrUroWzByKP+Oembqq6OvNVEKfL97qI1eV68HlsR4w1VUJtgp9ReFaMEWuSqNeqkrdPPqk9JE8Ss9g+QvjZKsS4u7HXkBVsqAqS4GqLAuqshSLVAUAsGLo07tBn9CNolvm3K/RL8aNvjE674doYYHexRW3a+nHVlhpFMtX1eeutAD6bvXX9mw2NIrQfqNYvqG+5kqV6Eahz+qDUNEowm01iuW36nuuVA8aRVh4UoTfWNEolq+rn7lSFZVfoQ+SVqSf6h3hlY3Co1n5O9XQR8e1oa5uFKoIfVrVXBzLPeex04D+V4f6yTzoQ/b9Nbwz6K8w/5z0A3yovuxK86n4qIxQC40ytwoLor+CxyRIbaPc6M83aBQ9nP6SfzCFOeih5i/mYXg2G4wuqfLn2/MmgFLfdqUi87/cMVSKvqy61esaRSl9GXKlml+6gD48G5ya7wlT3ShcgwaNok+qmKkRNYP+DvsQeq8ZbP7ED+Z/vbCxQ8r8rlI/dkVP4L3LANEL+ivM15j7IFPpdDjVz6Oz6m//g/xsX/nexUCjCPormn/NV9WHtoBGEZI3iuUb6utoFKEnjULUV8Yd6hzm++6NYdwbw7RQkXjqb55WCxqlbe58o6hHamvrwl70sGGjXOxf0Pfoq1mgUQo0TsrG1glNz0dUapqUe7pNbLuiUXI0bZR9+vd268VTemq8+HpEWUOjzAFOEdAoedAoOdAoQieNYv9aU180ilDdKPo411c7Ncdc1TfKYHBj9yNUUd8otbTQo78DjWIOYK+772p9o4xkW3MFaBShulEe6ibZayEpC2AbZekjYrK01SgzVXPlqnomdffuqaJnop9lb3W0NLZR9L7BxpiKhHbnLQ59PuIretYoRExlzGN8o+jbWEcTUw83ZSPQv95CJUyjLHAduQpso6jq6/9VYyoyitqTb4iaIP1LSgTrIfqFQKO0DRolz0o1ygfRHH8WzefuOcyf16HcG8O4N4Zx74vg8z+O5i4lxW1MCVNfEffGMO59EazZ4stNtzBolByJG0XvKyMiGuVEX6OTcO+LAI0iLLjn0by3jPm03ieNRskT0Sjq/jv77N4YxrytgLkfirINg0bJA6cIaJQ87n0RdNIo5q9ns+o3oVGEukZpZ3+K3UmCRlmQ6kY5oPZoYc/jud7wWlfdThqllvpG6YDKRnl+cKAOWtlHvwBoFKF3oo/fnzK4sU+NsBWJ2SdtifqCVWyUmJFxn42tD30+4itWr1FO6249VomrSGx9wud7LkLvGiUGOEVAo7QNGiUPGiUHGkVAo+Spr4jrt4dx7wvj3hfm+27KRoBGyePeF8a9LwwaJU9Mo9w7MU/ufWHMu4ooc1/3E/MVaJQ8MY2yseBOLvOuEuoFPehTndEoRWIaxczrEUnRDaLPp0WjFIhrFIN7Xxj3vjBolDxolBxoFKGTRnF/rX4TGkWobpSro6PNh3oHZBX1jULUv+muNEoHVPfoX6mHT1rYHTxTl4PBsKa+aBShZjOL3hGsjjbtiwD1jbIQplHMrbAaYxpldhYzMvazLVRnGrFTZ/W2fdGoRIyN/Wh0dSZRpxf3rlFivsktvmJ2XrbUKPQFEd/Rt0ZpftFggpMSgfl01DLUMp66QhNWb/EVRwsViQeNkgeNkgONIvSoUX4Vzb/rniNQ7jkpbdSDpmgbjeLaOILfd88RVB+h2xFt1IOmKBqlTdAoedAoOdAoAholDxolBxpFQKPkWfFGUYPjiqYq/6m6UTaPnulz/Xbcy/nUVYameN1Er/m7OtA7l/bcqwbQR+vbvbIe9HHzJdUTI9gog/NzejAXZFQDfWsoLpuHInVJoVGom6g1jaL0h/VOuwqq/7pjzgKteVM1m+bD1d9Q1yjmS+z/IfT0LU9jO+XNNUddGwz1kymrwZzTt2sa5QH9o5HYta/mU5cU8+GKmhDVf9V7xhea14PQR+s/Xdco5n96qJgYevqWp/HSwClCG/WgKYpGaRM0Sh40Sg40ioBGyYNGyYFGEdAoedAoOdAoQkuNAgAAAIAVRoF+oRvlu4OfqF+a5lkGNVZjuafPZ+65OT9yzxG0sCYZX48W+EA/fFc/fF39TD8tQ2YioFFaxDcK8R31qSsthp4I29vmDBs0SovkGoX4UH3ZlRaAJoL9H43SKsVGIZT6jSvVgUa5HeY0CqHUt12pEjTK7TC/UQaDryj1c1cMYtbdbuwdXdEoLRJqFOKnSv3YFetBoyyNOWxrLhWNQvxCqR+6Yg2VlaEezZQyVT3NqhtlOlbHg9FUnbrXc6n8gfH4kv5Oo+Jez6emHuYaDzUVmcvxdHjuikzxtae6UYg/WOxc2+rK2BOxq7+oulHMYWdE5XdU/nFM/8wbwhODqKuH/ld39Y15mI+cDvQNr6f6HGp6ONcD595Rt7ZRiB8s0C61lZm4EQtS2yh6qp5X3sa78gdco0QlxfwzxyQujc74ub02uJkUE341B2kUvcklPA99VX3uSgFqKxMaAaG2UfSdCaq/ovKvrlEGx5X3mq9vlNmsZiwCjEe2GWgij80D/VPzryHvk+LmxSDfVN9ypXnUVcbUx74KsMjiq2ZqVP6ZG6X6XXX1OJevWRpFo0Az1rVehukH3SjzvynbKHpZpwb6sO5T/Vy+6sI31NdcqUR1ZcyPu62fIaobxXxYp9m9nkvlH8f8Fe71fOrqQYuemt+Zz9T+ODXEmS7pByofzv8m3yh6dM+1fug3ST9q/jU9fq2+5Ep5KiuzENWNshANJlaR+HrUQRPYPdCi1D4VySbFJkoH3Sws3AdL/FZ9z5UyoFFaJOcU3Q66Q1HdKER59wsapUWkUSa6Rtu0ZqLOzwbqkCq4Xen9wu4XNEqL+KQsT3b3CxqlRWIahZDdL2iUFolsFMLufkGjtEh8oxBKfRuN0iKmUf6v41j+C+rlgNYwTRNP/fe461uHqY+Ke2OQ33Hvi6CF6fGH7tD55vzKfVMsaBQBjZIDjZIHjSLc+UZR6v3W1se23KxRnr4z98O60GU0Sp5mjfJI3zXJ3TqpcVJOzOcfUwmNkqdhUtpoFMqa+wo0Sp6mjbIhU7R5o7xFo8yncVLiG4U+TZ/XUkGj5GnYKPoefBQWo/pmjWLud6m23uknNEqeiKQwjZMioFHyoFEENEoONEoeNIqARsmxRo1iDlRX+mCXCtAoQnWj7Cl99dvq2zwu0Cj6oJaJOQKpAjSKUJ8UVXO9pUWSYg7XR6MsSmWjvDqwLRLbKHZMoxullvpGqcPs246jg6SYixKjUZbgrjSKUpf66O/q0UWjCJWN8to+VF/1f6GkLAAaRagXfR3tNkrUwTG2UWLuRWobZVizpK3E1SPm5sE9a5TwSciLYBslpllNo9AXRHyH+ehEn5bYmJ41StxRZC01yvQsZuYwP39du15TRd8WX1GTtKVGGYzmnga9IObn1WC2So0SswBrqVEu9Xm4jXE/HzMWvWuUygtC1NAfpwSuObAgq+eUOTcxWhy7+JrMPTd9QczPX1deQqGO3iUlBpuUGGyjRNFCPdAoOdAoedAoAholBxolDxpFQKPkQKPkQaMILTXKB/Goz6L5lnsO8+c1/GfufWHcG8O0UI+/9sex/B3TuPF0khS3Kz5I/T5698YwWHzlQaMwaJQ8aJQ8aBRmRRrlxJym0rBRPtYnHd23X4FGyRPRKBf3zVPjpPDJZGiUIjFJuW+madNG2X9EDxfmrG80Sp4op2zoh5ik8IN7YwRolBxxotdn4qNRCkQ0itKXSWjcKPtbF1vvHulzYtEoRVInxYBGyYNGYdAoedAoedAoDBolz11pFH0DFlV3IDoaRahpFHV09NwVQyzQKO7khMqLrKNRPNWN8or+tXAm16UJSc3YolGE6kbR53C10Chmik9qjhLupFHquAP76E1jxDfKsR7TujZBo3gqG+WAaCMp+raGOBF1cWpET+wcPXCl+Sy0+FoANIpQ3yh1tNsoUVUyjRJ1NoVrlPgTUVfp/JT4RqGJEfEdbTXKacwZLiuYlBYaZRzdKFHVWMlGicA0ynZ8UtRgGHHy5go2SsyZbaZRalcUKzEfpVaN+IrVaxR9g+DGtOUUeoi45ETPGmUcte6kGyVuNm+rUQYVt7aup29JiaIlp8TRQj3QKDnQKHnQKAIaJQcaJQ8aRUCj5ECj5EGjCD1qlD+N5i+45+b8M/cc5m/VUV8P98Ywf/9PYvnrbqLGckeS4vbEh6mvh3tjGCy+cqBR8qBRBDRKDjRKnjvfKAufiGreXWRDnwf2+MScT4ZGyRHTKAufiGrfV+C9/rw5cQmNUiBq8bXoiajmzUXe+7Mm0Sh54pxip6t7Yxjz3iL7T32roFFyxDXKgieimvcWIB291c/7+gGNkiOiURY/EdW8rYh2inphFoBolDxxSTE0bJQsaJQcaJQ8aBQBjZIDjZIHjSJ00ij6RNRJ3XHoaBShslGeHB3ttXci6ln10bVoFKGyUcxJXC2cyaVPRD2Nv3dwLWgUZiGnmDGtHt070ii1tFCPaqe8fNZGo5gTUQk0yoLUiP7NkzaSok9EPVOX7lUANIpQ3Si7uzgRdVluPykL0GqjKH2b4caYRlHjiDNDbKOMY85jcI2ySieiRqEb5Sbqm1xSohtltU5EjWob3Sj0+R40SkwtetgoEUsvt/jqR6Os0omoUTjR96BRcCKqYBsl5itaXHytzomoUXcMN40yjFn+uUaJOhvWfhYnojJu8RWBS0oMLdQDjZIDjZIHjSKgUXKgUfKgUQQ0Sg40Sh40itCjRvlVNP/SPTdn1z1H0I96uIkaS+WetMVoYQ5zzxH0ox5uosaCRhHQKDnQKHnQKAIaJQcaJQ8aRUCj5ECj5EGjCGiUHGiUPGgUAY2SA42SB40ioFFyoFHyoFGERI0y56yu6sq80n9+tWdfhKiuzOsDelBKPwapaxR9rmHNVK/7s7lNY/WbahtFf0nlxAg0ijL/h1i6UUxlX9XUuLIyL82JHTXUNQr9vjqqbNaaUbw6opGombcq63Fl/tGXVE6McKPQv2NzXJtSl+pYn+Zgyvpfo0YxU6SKmjmMZq+9ml+paZTX9HGaKnrCBKn+BVuL6jN+ahtFf4n+GjtkHpWNQo+Xgxv9pF+f6zMVxvoYbnfj2izVleHquBfzqW4Updy9RCuobpTX9Gkdt8rvqKmH+fNVdVbqGkV/if0/RHWj6JOAxvZ4Z5OUMbUMPS2fFFqaV48HUZMU++nK2bx+8fXq2VH1qW3Vo2hmrZh6xCZl+9Q0jTTK4No2yvGhHZ6nejyf0L+6ebS2UeqW5Ys0Cv1f2aw1o+g+27we+gv0v+qJEWiUkdrWT9oeZ/b0qlPdEmeD08FgQs1VonI8n1DMaCyqJ0d1o6hN/Q1m5SfMAo3yZLf6cg+V9aDVDXW0qSLWIl8+tF9SPTECjbI01ZVZiLqk1FPXKAvQj3q4iRoLGkVAo+RAo+RBowholBxolDxoFAGNkgONkgeNIqBRcqBR8qBRBDRKDjRKHjSKgEbJgUbJg0YR0Cg50CgAAAAAAAAAANaJf/OfnPeA/+0/+CA9/93fcIWknLvnpPy9P3CFpPRiUvxFd+1d9R99SSn166/YV6lQn7lCSn70iSskZc6R2t3zUR/aox+T4gM3Fuq75unbX6O4fMMUbw99CsW5GtNjcRIgKAKCIvQxKJbffIvi8k334nawQSmCoAgIitDfoFi+/LlSH37VvWgbF5SxvufVVKYEgiIgKELfg2L5lOTynR+4F+1hgzKztyeR+5wgKAKCItyNoFh+RnH5esw9d4o4o6gb82hOddUFBIVBUIS7FBTDD39JcfnJL9yrOI6VuWfXTJ8IPpHbdyEoAoIi3LmgWH78PYrLb3/qXrULgiIgKMIdDYrl57ey26V5UC5pdNSEb5J5qI5dqQERQdEjsX1ty6fbahhx087mc8eZHosbd2fdCU0VW2pCRFCyk4IYqTlXi1mQZSbF4VBN/a8GOG8wcZsGxdL2bpfmQRmaehybC8IpNZu78XlBYoKif55mCgqIuYW9bKVYnuafHJuPniq+if5x8xu6xgTFTwq9hu022zRiiUmh5lx7rkz3QbG0t9slNijUIlYlSYMy2OaGSBgU+ganEjdpmhAdFDspjumho6CwuMzPmSmhJupyaDYXSUkHxTaNqrUP00ZQLG3sdokOituMljgoMqu65yY0/6j8OillpteA7Eg1IT4oemRMWLoJiv5BM9UzQTE/rB+lZIyiM7JEA5WDYmu43XBOi9vtEh2Ua6v6xEGx03/bjUszFm/CIi4op+rMPPPoNCE+KPTbetY1mAENWPaDegd2KSi0piElE5QzfUFnPWAxQkGJo+lul8igUDfWzZspgzIxvYO4mNBXueflMbPHqVkJGesVUVrhMMMbEBsUOykMdi5txOKT4lznYax/WsdyYrKpTEZyJdtH2Zb1tEUIBIX6RJOpOr+kaaw3XWh50oJhcn2sRpNLe2X1epbf7dI8KC0SEZQWWWwS3zIRQWmRuEnhE1rM6lJKCARFLwhs7mwoRvRoFtpmcWX/shhfWWa3C4IiLDGJb4+VDsqCi3tHxapXNig6H82CYvnLi+12QVCEpSfxbbAKQWmJ2qDY13ptLiYoln9ct9sFQREaTuJ2QVCEclBunYrdLgiKgKAI6xoUy/HnFJfibhcERUBQhPUOikXvdvnc73ZBUAQERUBQGL3b5Vt6kwSCIiAoQr+C8q8/T82/prioT9LzD//MFZLShynxyU8+d4Wk9GJS/BEHxT4l5qMWRmMrmu//yH1VBO6rmvM7vWiRXozEJ/GXPY/nVwhKCQRFQFAYBKUMgiIgKAyCUgZBERAUZq2D8k5dnHDpsS1oug3Ki331lksXL2yJQFAEBKVEp0G5/5QeLtSGjgmVHl2YoUSnQdEheaR/f0tRSjZMSYOgCAhKiQSrXoriot6ZknkkOl/1eqt/Wdm0cFIQFAFBKdF9UN7TPHqizAqYzKMdB0XvPjJP9oV+JBAUAUEp0XlQzGz5Qt03ZddVSNCZ1/FAUEIgKCU6Dsp76p9oLvTcaToqhu6D8uhj7TVdsnIjEBQBQSnRaVDe63UeZTZ3PVUn+1/YoUSXQXmh1Nsv9m1Z3X8nGxQQFA+CUiJBZ34O3RtlDgiKgKCUQFAEBEVAUEogKAKCIiAoJRAUAUERVicop9tqW19qTV/CM+La6QhKBgRFiArKjt5gs6NLB+qZGdKMNoIi4VDqdKmLipVAUAQERYgKymv3rB7oh137ogGtBCVz9VAExeK+qjkIihATFNLJlX5+rfxjI9rpo0wUX2Q2fVDi+aSFoETD52in5c4HhXitDnRgdPGquVJa68y7C1QiKC2BoAjRnXkKycseGGWsr+l6464fj6C0BIIiRAflJf1Tb/QDuaUhrRmlFRAUAUERIoKyR30UHRNi8/Ubu/WrGQhKGQRFuOtBaY/+BkVv/17o1pWtkwnKdLl7A7SID8qp3k4ScVPdGHztqTRLNBIISolMUBKOUNYo7pZ33eODYrp95i4C3eNHwtxbRN+yqnsQlBI+KKfjbWVu5ZqAngWF3DqJvM9dY2QkbFvEbappCoJSotBH0ff5SkDfgjI5vkm1Buh/Vqkh5ZXvn9opCEqJYmc+zVj1bdVLr/XcpBmP3K/Omt81NQoEpYQPytBc3N6Wu6ZnQRnp9Z2Z3F63U7K1H6UZBQRlDkWjpCEblGRkVr0S0o/2QFCKICgCgiIgKCUQFAFBERCUEgiKgKAICEoJBEVAUAQEpQSCIiAoAoJSAkEREBShX0HpCR/0gD/6K66QkvNeTIp+tMe//FV6djko9ikxq2MUd+Z7c9o4Z959VQT9aA+sehVBUAQERUBQSiAoAoIiICglEBQBQREQlBLrHZQTvTXDlTsOyjv65fe2qEeCb6mEoAgISplEQXnB95A0dBqUe/rB3clSPwgICoOglEkTlA29KDf3yDN0vur1sb0/H+Hua6RBUBgEpUzCPkqqVa+trfuy7rX1Vu6Ph6AICEqZlJ35ZEHR9+dzha3Hj1wBQREQlDIJg3Iid5LsPij3fDzcM4LiQVDKJOqj7KvH7i7Fmk6DQutdj56a0mO1b3r2DgSFQVDKpFz1Ero3yjwQFAZBKYOgCAgKg6CUQVAEBIVBUMogKAKCwrQSFL2XSn/BRD/b+6Q0A0EREBQhMig79u5Brw92U9/2IZeN05ikICgCgiLEBeW1DUofbiS0rUb+GtKXMdeTRlAEBEWICgqlRAdl06TlysqlCS31UcbK3TtjGvVFqxOUaHDOvBARlFf6lsA6HXyz0yf6qQmtdeZdJyXuVjMIioCgCM2D8tr0ngl3m9ODpEY5V2q4rXNyqqZDjRveAARFQFCEyM68McqReqAfGt89uz2jtAKCIiAoQitBOdrZVM9MoRkIShkERViJoLRCb4NyPEtzHzRCgnI4NZsp3KtuyQXlMP0dt2jF2tzGMQEISomcUdIHxTBLc//EbFC2k93PyP+sSnUbIQRlDn0MyiTNaGSCQqXkQVFqOp7i1nQISpZcULbT3FvdB+X8mh7SB8U0Rpob/yMoJXoXlNOJK3SOBMVscR+pYZKluQ+KWfNK0yQISomeBeVUmZk0ye3uc535HvRRRje0FppmsYGglMgFJRn5Pkoi8kFJRT/aA0EpgqAICIqAoJRAUAQERUBQSiAoAoIiICglEBQBQREQlBIIioCgCAhKCQRFQFCEfgWlJ/xpD/jsL7hCSv5ZLyZFP9rj7/9Jev46B8U+JQZGEdowijvxPYJejMT3sepVBEEREBQBQSmBoAgIioCglEBQBARFQFBKIChCsqDoTSpt3uzUfdMCbKinW48fm+KFHgtTIhCUEgiKkCoo/iZCmk5Hwvy00rczytxFkkBQSiAoQqKg6CV5uzc7dd+0AI/U+633WmaPsj5BUOaAoAgJ+yjt3uzUfdMivNhXim869tSoxYCglEBQhJSd+VZvduq+aQG0RF6oC/sic+9VBKUEgiKkDIpf7ek8KFv3+Mc5MAjKHBAUIVFQ2r/ZqfumRbi3r8xGr3dKfWwGWBCUEgiKkNIonl6MBIJSAkEREBQBQSmBoAgIioCglEBQBARFWJ2g6P1D+gum+jnmQm0IioCgCDFBeba3e7BnSn272elhzEXPERQBQREigqJem8dd+tezm53Ooq56jqAICIoQE5RN86j6d7PTMy40AkER2ghKPP1oj+ZBeaOTckAPPbvZaa7QAARFQFCE2ItL6JD06manYzUc3yjcZ74VEBQhLig79taNuNlp+yAowl0Pinr50JVws9P2QVCEux6U9uhrUNSZeTTlrvFB0b9/lmYkMkE5v052n9FM3XGzU0OauaFIwSiTRPcM5KDY7RIxWyeakzNKD4KCm53akUkyM5QoBCXRSElQpmbDBIJC4GanblIkmicL5IOSapwyfZShmgzUjXvRKX0LCm52akcm1UyZJxeUyzTLr1xQCIpKCvoWFNzs1I5MD4OSbJQyQZklWtvoXx8FNzu1I5NsrsxR6KMkIm+UROSCkox+tAeCUgRBERAUAUEpgaAICIqAoJRAUAQERUBQSiAoAoIiICglEBQBQREQlBIIioCgCP0KSk/4rAd8/i1XSMnXezEp+tEef+2P0/N3OCj2KTEfNT8DrUV+vx9LMFdICtqD6duqlxutpCAoAtqDQVDKICgC2oNBUMogKALag0FQyiAoAtqDQVDKICgC2oNBUMogKALag0FQyiAoAtqDQVDKICgC2oNBUMogKALag0FQyiAoAtqDQVDKICgC2oNBUMogKALag0FQyiAoAtqDQVDKICgC2oNZKij2lJFmF0EbLvILMUF5qA5o5HTpGT3uRVziP6Zh1NVrOxJHT/S0MqVGRAZlx96ucO9h3Mwe8dkd/Vl71wWaJDGToml70Pxgnv2YRMwZSwZFP84aXVjztoPyyjzqSfPAfIm9zWUjYpdgSo/Lq+f2RVPigvLABsXcwnA34ptiPqpvxmt++0HEzXg1jdvD3bJRxiRmzmgQlMExPR2q68Fgol8rNabs6D9N9Ut9MUFTMDfSNp9Q2zonulRH9KqXuf+rnRzNvyouKGb5RQ3znKZJ1O2aXaEJ9FkdlF13s6nm98KNGYk9tbmnb5m480wbxQ5rRGxQZExi5owmQTmnJzUdE3o1zNw82/rC/vl6bAOkh+u3mtjc/qqXxsyZiYNC64D8068i7vEUEZQdLTMbFHMrtkRBefbgyjfC84hvig4Kj0nMnNEkKPpJW8KSD4rJiI6HD4r9WwdBeXJlnvbs5LC34W9CZFAy6zoHSYKiewSaXXvjwlfNb4UbteqlW+OhfEHEN8UGRcYkZs5YMijD4UipY1uejIf6Vtn5oByq0Zjeol9wUOitlxN1vcgvxATlibml+DPqH+gJE3FH8ZigmFlS//QTvRR/8Ea/bEZkZ95qxKwGKrmN4fJEjMSBmR/pC55rwTVfbMUHRcYkZs5YKii3TnQfpRVijdIKsUFpB7QHg6CUQVAEtAeDoJRBUAS0B4OglEFQBLQHg6CUQVAEtAeDoJRBUAS0B4OglEFQBLQHg6CUQVAEtAeDoJRBUAS0B4OglEFQBLQHg6CUQVAEtAeDoJRBUAS0B4OglEFQBLQHg6CUQVAEtAeDoJRBUAS0ByNBAQBUYYMCAAAAAAAAAAAAAAAAAAAAAABL8rvX5z3gf/jfP+gB5+45KX/vb7hCUnoxKf7iH7hCUs5NTj51O+cBAHMxOflI6aR85wfmRTJ+1IuDaHoxEh994gpJ6cWk+OAzV0gK54QevklR+dZvzOtbRQ3HY6XG45tiMyAnAnIi9C4nxM8oKl+3q2K3h76yvfHYYeGXkBMBORH6mBPiGxSVr33bvbg17PoechICORF6mpPB4Ie/pKj85Bfu1e0w93h+5ERAToTe5oT4yq8pKl/6uXt1C3BO1PGxurFF5CQDciL0OSfEj79HUfntT92rtnE5UTN9U+FLU0ZOMiAnQs9zQvz0txSV7/3YvWoVm5OxeRzxjyMnAnIi9D8nxM+/RFH59Vfcq/awOeG0HOon5CQDciLciZwQv/gJReWXP3SvWiKbk3N9f1QNciIgJ8JdyQnx7a9RVL7hXrSCTYhd4zJ3CdYgJwJyItyhnBDnX6eo/My9iIdNom+6PRnpMoGcCMiJcLdyQvzmWxSVb7oXkdicDLb1Bi/5beREQE6EO5cT4gffoah86l40Z0jf4owykq3CyEkG5ES4izkhvvy5Uh9+1b1oF+REQE6EO5oT4qsfKvX5l92LFkFOBOREaD8no21XWIImOSFu5XSViJzo9bih3ihgGMY0cPPPnumxuHE7gy6VuralJkTkRI/Etvvps221HXH4d0uTYjA4VlNXWp6lcnJNv0pd3mpc53gp7EeWzgnR/ukqMTkZjsfbyu6ImdGImYHNaP7ZsRqPKR568x2Ng+6E2eENiMnJdDym39YLjZGa6DN97PAGtDIpNEqOuVieZXKi1CVV2L0I0m1OiJZPV4nJiZkZzAQ4VpNEPrGH4ZzquWN2RqUpH2iwPDE5GerHkd6SaIhIayuTgpiOIlpkiZwcL/YrneeEaPN0leicDBSteZ7NUq132ZmDntwseq4aL0Oic+JnhoQ5cZPiUMW0yBI5cb86GNhTZfWm1NHNYKLnimyJpoh9w2zxsbLvbJ4TorXTVVrIif2GtDkZqIl9lsAsT3xOtrke7nUTWpoUNL92k5NDXtGzP6drTqu/U7sqlikpWoRp1ZfOPA9j3xmVk8Hgh+2crhKfE9ccqXPiOq0utU2Iz4kZmevxTUQPuqVJcUnlbnJCwrDLqExOTEdNeyRbss88qRbBjn9kToivtHC6ysrkxC7VrpuvdrWVkxE1SvNOUkuTQo9ARzkZzKjGFIdsTkyJHvMlrdvZEr43H5ackJcc9vVS/G7s6SrxOXGbVVLnxMypp/5EzeWJz4msUzRqS0srk2KkhdZVTghFc38xJ/p1vjRTp8usdhVywt+2RAcnx1+OOl1lRfonp0pv7JrZPmNDWuzHn7tp04BWJoVZ7BJNlxrL5kTPC8WcTOmxUKI1Qu5HLoL5cCYnbhbzB10tywfNT1eJzsnYremkzYlphriYxOfEp+PcxLYR7UwKTUSLNMmJ294lOdGPhdKlOjQDFsS+t5STKP5xw9NVYnMy5HkzZU5Ozd7OyJhE52Ri+kjbtP49s/NHI1qZFIZucqInuqnvqbrWBZMTmhATvfzMlsybl5ow9r3FnOjF8rEaTPUkv1Hbpic4OaciLZpuZElVwR80OV0lJicGM2LXmXITmo+E693pzqE9Irr5LBqTE4NZpZiaYuON0+1MCkM3OTmXH92m52Obkxsqmq3TmZJ+83LHFdnxn5MTqumIusW6pzKjb7++UefT86majc6GspSoZPnTVSJy0iK9GImInLRILybF0utdOfyiqrjQcquGC2LfnM2JRvvEpU5vdJ7ojJr4md6YXQNegCVPV0FOBOREuK2cuK33C2I/XPDJTHLi+jo6HjY8enVm4ZwQy5yugpwIyIlwSzmxe+QXxn54Xv/EfG9mu0WznBALn66CnAjIiRCXk7awk6KYE43JybFJh93C1jQnhD5d5fPa01WQEwE5Ee5ETuxxMAPdc4/JCaFPV/mz6tNVkBMBORHuRk7MYafmCluROSH06Sr/yPhpPsiJgJwIvczJoRxfQCWz+Xeqzq71loGxNsuZ3khAf2m8SV6frvJZ6HQV5ERAToR++uT20aer/MO5p6sgJwJyIqxrTtzpKtvl01WQEwE5EdY3J4Q5XeWTwukqyImAnAhrnRPix/p0lf87e7oKciIgJ8K654T4qT5d5V/I6SrIiYCcCMiJ5uf6dJXv2tNVkBMBORGQE8df1aer/C9UQE4E5ERATjz/VJ+u8u8jJwJyIvQpJ/9cfZ6af+c/pKj80SfpUe45KT/5M1dISi8mxR997gpJsTn5vT877gH/HyUFgF5icvJRL9w2UN91hQi2omlhbcN9UwS9WOX5UQvtEY866gHISQnkhEFOBOSkBHLCICcCclICOWGQEwE5KYGcMMiJgJyUQE4Y5ERATkogJwxyIiAnJZATBjkR1jgnG+/VYymd2JKm25x8ofZf2NJb9dYWNMiJgJwU6TQnT9WjC6VsaWvrkZ9HO82JevuFUiYo6unWhhkdA3IiICdFOs3JBf17qvSjuq8fNvRATZc5eacf1CN6eKQzcqFLBuREQE6KdN8/0UK5b5biJjGGLnNiMOtb6gt6eCdCQU4E5KRI9znRS/ELM3PaR033OaF/T00PyT5qkBMBOSmSwCe04mM7KWa9x9B1TozI3rlOilkR0wX3TUlBToR1z4n+lzQn+pht6h+5NS7TVTEF901JQU6E9c7J/lN6SO2TF3oEOCfwSQnkpEjXObmn+84uJwn7J3pDwn2z3vXUbHrTICcCclKk45xs2JWcxyYhNi2aznNi1/50QuymNw1yIiAnRbrNycZ792x2ncgaT6qc6LFpdeUvHuREWN+cbJjtTCe0GN8nr5zIHNppTszOzcf36EEfFKD3yTuQEwE5KdJlTjbM1QFc3+SdX+HpNidKXbzbt/tM7l+cXHDvBDnJgJwU6bofP58ucxIEORGQkyLIiYCcCMhJEeREQE4E5KQIciIgJwJyUgQ5EZATATkpgpwIyImAnBRBTgTkREBOiiAnAnIiICdFkBMBORFWJieXSk24ZJ8bgpwIyIkQlZM9pdSeLjxTm2ZAQ1rIiVJjSootIScG900RICdCVE70oUmv6HnzNZV37LAmxOdkwk16qIZj5MTgvikC5ESIyclL97yrv+Qq4pviczKUnBwOkBOL+6YIkBMhJie8rqXMl6gn5kUT4nNyrLZdaYCcONw3RYCcCBE5OaDOiVnZUgf+sRHxORlsUwfFFZETi/umCJATISInu1fUPdESUQ/0S2uVRrSQE+qYKHVqSj3ISTy9mEWREyFmvevoaMeEQ13pcuKcDAYzt6ELOWkL5ESIywnN4uSSnuSElHKun5CTtkBOhNicvKReiVvv4s1fy4OclEBOmNXIyZX2iUmIemgGNCE+J+rG9FBMGTlpC+REiM2J3h1/oL/E7ERpSHxOrvUuT/01p6aghnZwE5ATATkRms/dO3o78LPnuqj3xe+91qVmxOekRZATATkRmufklV5u75rijto9aL73BDmZA3LCrMZ6VysgJyWQEwY5EXqbk8iuTgTZWfSYjzTomsxIjP3xDh2Tycn5VF27YtcgJ0UyOTEbBVy5Y/zPHiebQzMjoQ91OE0zKXxOJjeDwfbIvegY5KRIJieJMqLJ/nT6nNiIuOOCOkZyMrMjkWZiICdFfE4OL10hAf3KybWdRQ/Ni46RnNhzJxIJHjkp4nMyUmrqip2TnRv6sN5FqzvXaVZ5JCc2IXKmUbcgJ0V8Ts4vqXsycy86pmc5oU7ScZoNGj4n28iJGZX+9U9MT96VOib7sz3IyeCMz1roHMnJodn0iPWuPuaEGufYlbqlbzlRMzKKK3eL5GQwUWo4RU56mZNUM2nPcqJLidZBfU40M776VMcgJ0UKORnCJ3wIdppdrvmcjLITpkOQkyJFn7jnjsn+bPqc3JjSdvqcnKXqJSEnRSQnp3q2mJzZF13Tr5y4XXxp958Qp6ligpyUkJyc6aNWkswaRCYnx3rnRRL8SBzTDJpoDdTn5HyabHcWclKisN6ViExO0tGLkcj3T1KBnBRBTgTkREBOiiAnAnIiICdFkBMBORGQkyLIiYCcCMhJEeREQE4E5KQIciIgJwJyUgQ5EZATATkpgpwIyImAnBRBTgTkREBOiiAnAnIiICdFkBMBORGQkyLIiYCcCMhJEeREQE6EHuXkU30cew/4Fx/0AOWek9KLkfgr/WiPX/UAm5Pf+7obp7So73zWA5R7juDPo+nFSPyn/WiPP+4BWO8q0cIqj7u5dQS9GIm/jfUuBjkpgZwwyImAnJRAThjkREBOSiAnDHIiICclkBMGORGQkxLICYOcCMhJCeSEQU4E5KQEcsIgJwJyUiLVLKoPSNh35Y5zon96w5Te6aIpEciJgJyUSJSTF+9OTk5cueOcUDA2XDoUjcRTUyKQEwE5KZEoJ7IUN3Q+El+Y37/vk0ogJwJyUiJNTjbUY7vmY+k+J2aVT72/Z15ZkBMBOSmRJicX1C+4cGWi85EwOjnRvRNZ7UJOPMhJiTQ5IfZ9D7rrnHys1Atboo48+idlkJMSyXKydV+9c6Wuc7LxyGcU27vmgJyUSJcTWvlyhe7Xu56qx650gpyUQU5KJMzJx+lysqUeuYLf8oacCMhJiZQ5eesKKXLyhSsgJ3NATkokzInMoSly4p633smmYeREQE5KJMnJidrfeOGOHdF0ORIn6v7W1nu9lUupe1uPxSvIiQc5KZEkJ1tv1QXNrUKnI/FIuZWupxdK1vwI5ERATkqkyUmBXowEciIgJyWQEwY5EZCTEsgJg5wIyEkJ5IRBTgTkpARywiAnAnJSAjlhkBMBOSmBnDDIiYCclEBOGOREQE5KICcMciK0kJNLfRLc9mAw089R7YucCMiJEJmTPfP5HfXmwaZ53Yz4nJyr48HgcEr1oayM1cgNbgJyIiAnQlxO3ijzebVzdPTytRnSiPicDHNNGiUU5ERAToS4nOyZnLzWD08ivik+Jzdq5koa5ETj5rMIkBMhKid7RyYnTipX+rER8TmhaIxdiUBONG4+iwA5EWJy8nDX5eRAv1J7+rERLeRE998vXXmsDl2pCciJgJwIMTl5SXO4yYkxibVKI1rICSVl5LrvMzU0zw1ZmZzE04uRuPP3xdb+6FFOdCfFeCRqaxdykgE5EZrP3FdP6KFXORmoc/0QFxPkxIOcCBEzt+OK+yfNNwzH52SqHyb6e2Jjgpx4kBOheU4ONEodPHMmUa/M4CbE50Sp0VCpiS4MNWdueAOQEwE5EZrnxGAisqsfnkd8U3xOBsdTNdS9Eye5azu0CciJgJwIbeTkaPMBlXbMgEa0kJP2QE4E5ERoJSdHVxGdEwI5KYGcMCuRk3ZATkogJwxyIvQ2J/nDK7vE/7DubmWOyemSfO3NVvfuyeXkWF3GHGvRHOSkSCYns2n6nKhjfUxOmlk0V/tRD3Iyit3o3xjkpEjWJ+P0OTnVD3FnnjUm+6vX5+lzMkrWHMhJiZ7lxNCDnGynX+8a506e6BbkpEgvc3LjCt2SGQkqJs9JoqWFATkp0sucuOeO8T87ptW/1Dk5U5PtcaqsICdFepiTSz6zpmP8SOgzFVLnxG58TLUK6mbVpNiqIycZcj+caiuPjIQp9CMn22maBDkp0r+cJB+Ja3PMHOFed0ohJ8dppgZyUqR3OUm2z0BG4tgcg622o84TbUqmf6Ifz9M0CXJSpG85sTFJskc+X/v027t0N+0yzWIDOSnSs5yMts2y3L3qlp7l5FSPT6IWQU6KZHKiV8mTrGv42WFk+gU92M9Ir1LnZDDb1qfiJQE5KZL1STrSBKNAL0Yik5OEICdFkBMBORGQkyLIiYCcCMhJEeREQE4E5KQIciIgJwJyUgQ5EZATATkpgpwIyImAnBRBTgTkREBOiiAnAnIiICdFkBMBORGQkyLIiYCcCMhJEeREQE4E5KQIciIgJwJyUgQ5EZAToUc5+dQdQp6an/xpD1DuOSm9GIm/0I/2+JMe0C+fICdMCyPxt6L5P1poD/dVESAnRbDeJbQwEu7m1hG0cV9s91URoH9SBDkRkBMBOSmCnAjIiYCcFEFOBOREQE6KICcCciIgJ0WQEwE5EZCTIsiJgJwIyEkR5ERATgTkpAhyIqTKyTt9WIQrd5yTx4+3nqoNXdrQI/HCDCSQkyLIiZAqJ+rk5OSpK3ebk/sX9PDCZHSfRuJEFwzISRHkREiUk/t+9iQ6zcnFvn40OXmkHwTkpAhyIiTKiXp/z5U0nebksY7Iff3w6OJjM8SBnBRBToQ0OTnRHQNZ7eq4f0Jdkg2jEz0SX5hBBuSkCHIipMkJQR35NP0T3Xs3q14E5fWtKyInZZATIVlO9OLcFTrOydZ7paRnciEjgZyUQE6EhDk5SZSTiw1Kx3v3YkvJFgXkpAhyIiTMid3mpOk0J2/1dmGvEeQkDHIirF9O7DqXxAPrXWGQEyFhTt7JpuFOc+L2n5gd8tSplxUw5KQEciKkyYlS97Ye+02y3fZPdESeUjyUerd1n7d8EchJEeRESJOTpxeZ7bFd52Trsdo3KnuvHsnBXQRyUgQ5EdLkpEDHOQmAnBRBTgTkREBOiiAnAnIiICdFkBMBORGQkyLIiYCcCMhJEeREQE4E5KQIciIgJwJyUgQ5EZATATkpgpwIyImwKjm51OefbQ8GZ/o5qn2REwE5EWJysvfwjXqmCzvqzYNNM6gZ8Tk5V8eDweF0MJieDganauQGNwE5EZATISInalc/PNEPO0dHL1+bgY2Iz8kw16RRQkFOBOREaJ6TJ+aje/T4Wpfsy2bE5+RGzVxJg5y0A3IiNJ+7TTqOruhRmZK60o+NiM8JRWPsSjo0tPLVGOREQE6E5jk58Dk50CW1px8b0UJOZtR7v9QF3Y2PiQly4kFOhOY5eWYEYnJiTGKt0ogWckJJGbnu++EQ/fh26MVI3Pn7Yivqw+/qdPQjJ3p969AWxjFGQU4E5ESIyMnRA3Ww06ecDNS5fZ5lOitLg5wIyIkQkxNiV+9Acf2T5huG43My1Q8Tbtf81q8lQU4E5ESIzInpvFuTqFf6sRHxOVFqNFRqoguX45HeMd8Y5ERAToS4nGyaj+/qx+cR3xSfk8HxVA1N7+RSuUJTkBMBORGicvLypX3efEDz+o4tN6GFnLQHciIgJ0LznOyq1xKNq4jOCYGclEBOmJXon7QDclICOWGQE6GnOdG79gn3qlv8rw5vzkdDV+6YTNVno1ShyeXkWF1GdT4bg5wUkZwcmrnzzGxy7hyZK2/0WOgteQnw0TilhYYrdk02J6OYAy2iQE6KSE5uzOMo6mCxxshcaQ4tuE4zk2Z/tQ85SeY0qr6bVZNiq9/P/kmipuGfPbUFdWaeOiZb9x7kZByz+zgS5KRIPieJVrtkFj23CYk5EKc5PctJslEgkJMi+ZwkWu3ys6g99hk50Zc+mGyPU40GclIkn5NUc4f87jZFZDbCehef251oPJCTIrmcnCZa7crMosdqepqoA5v91b7kZDvRpHCzalJs1fuYE335liTk5waVeOM00ZecHKcZD+SkSC4nqWaO/A8nWob2LCdnZgzO04wHclIkm5Nkq125WfQ41fbQ7Eikz8nAXADhMs2uRuSkSDYn0yTdZ01mrrxMttugZzkx+5ISjQZyUiSbk1TzRuaX1dCdzJyATPX1gW5pRsTnZDDbTnQAD9XfzapJ6W1O0pEuoRl6MRKZnCQEOSmCnAjIiYCcFEFOBOREQE6KICcCciIgJ0WQEwE5EZCTIsiJgJwIyEkR5ERATgTkpAhyIiAnAnJSBDkRkBMBOSmCnAjIiYCcFEFOBOREQE6KICcCciIgJ0WQEwE5EZCTIsiJgJwIPcrJp+Yqpen5zmc9QLnnpPRiJL7Vj/b44x7QL5/8r7/qAco9J6UXI/Ev0R5Mv3Lyb53lktIPz7vnpPwh2oNBTkogJwxyIiAnJZATBjkRkJMSyAmDnAjISQnkhEFOBOSkBHLCICcCclICOWGQEwE5KYGcMMiJgJyUQE4Y5ERATkogJwxyIiAnJZATBjkRkJMSyAmDnAjISQnkhEFOBOSkBHLCICcCclICOWGQEwE5KYGcMMiJgJyUQE4Y5ERATkogJwxyIiAnJZATBjkRkJMSyAmDnAjISQnkhEFOBOSkBHLCICcCclICOWGQEwE5KYGcMMiJgJyUQE4Y5ERATkogJwxyIiAnJZATBjkRkJMSyAmDnAjISQnkhEFOhK5yosauUEVUTh6ol6+49MAWmhHTLs+UemZLu/o+FbbYhNiZw35+Z1PtmkIzonLybI+b4SDRpNg9sM9+TJrPGUvk5FxXV6lz93I5bj0nao+a47kpPTnaiZnNIj77evPKjcSRnlQvTakRMRUgXprPP6HHg4hlRkxOXtLywjWDnhRu6dGEhpOCFlQ2J35MIuaMpXKiH6fq0rxaktvOyYMdejBLrQP9sOcWJU1oOCWJnSf0YBedrx7qx+Y0HwnN7mvzeTN3Kj1lmhGTEzsCeipEyZ1oPClcTmRMYuaMpXNCQTFPS3LrOdEPb2iBcWSW51eNJ66brs0xrRH7JZGf39vVn39mx2RPPzYiIidPTDxtUM2A5jT+vM2JH5OYOWP5nAzUhB5G5NIRPQ/VNZUmA+1WejnWz7pgh29Tybz17Pb7JxqaBk/MGrl9bEZku5pm2aE6R6xqRI7EHq106CfzJfaxEVE+oZ/V6300YyrlOo7NaDz+7BM3JlFzRpOc0LP+N1NTnQcqbSt1TC8pP1Pqvcz0mpkZfq1OdemQBnWSkzc0Na5so6grM6QJjdvF8PqNfnxytanUphnQjJiRePPG5sSuAVq/NSImJ0+U2jX9s92rvbhlRuPxdznhMYmaM+y8v2xOZjTv6xjoFJhB13a4RYvGDafoqCEVZp3kRC8qnFfdNGpC8/nKLjw5HpsRWY0aCVrRSp8TPXtKOlREJyk6JzwmUXOGnbeXzclYjYkJDXB50BvBbE7Ox7TuJcMpI3YDWRc5eWKXGqaczCc0T/BaRsQaT8xI6P5ID3Ki6PelC59k0x8nwo1J1JxhZuclczJ03ZBMHjgnx4XhnebETIdnZjZ9EmH65vOVRRriVcQ3Nf/oQ73+nclJqv4JNcOe9AUepJgULic8JlFzhpmdl8rJMXU6zmyRKOTErGQVcqLXybrIiZueZjrYTT3NiPiowS+wkoyEXVIRR27jcPOvisiJCar/bdtVaUbj8bc58WMSM2fYGX6JnBzqFPjZvpgT7qhkcqJL27efE978afoHESsb8Tlxz0dPIvYcRI6EmTl27BbR5mugETl5aCrwnKvxmtdFG9B4Utic+DGJmTPM7LxoTobDIS2ndHmiRuPxyOdBcqIuJ+YtPidn9FY1uvWc7JmeIoXFbIzUO1Ka0rhdaE2L/j0xraFXOCK+qJWcHL2kGcWWmhG13qXbY/MNTQoqmGnSlMYV4PUuHpOYOcPMzovlhEyi1FBv6NIvKDGT2WBwafNwSg9TvT9loqaHN1MZrne1nI7IMupMv64hIid7euSU2f/7bG93r3nvJKJdaC1cXb22x84QtpUaEjF3a1w69q5iVkCjcvJEvTl6oKcFN0tjmtbgjdvKJmMSM2cskZPbJ7If3xKRs2g79GIkYnLSHv1oDzODIicZkBMGORGQkxLICYOcCMhJCeSEQU4E5KQEcsIgJwJyUgI5YZATATkpgZwwyImAnJRAThjkREBOSiAnDHIiICclkBMGORGQkxLICYOcCMhJCeSEQU4E5KQEcsIgJwJyUgI5YZATATkpgZwwyImAnJRAThjkREBOSiAnDHIiICclkBMGORGQkxLICYOcCMhJCeSEQU4E5KQEcsIgJwJyUgI5YZATATkpgZwwyImAnJRAThjkREBOSiAnDHIiICclkBMGORGQkxLICYOcCMhJCeSEQU4E5KQEcsIgJwJyUgI5YZATwebkU33xfQBACJMTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQD/AOfIAAACa42RCfKTUf28Gff7rH3zFDVtXfqRUP67UlJ4fqU9cae35CJOC+Qj5YD7ApGA+KPjku4PBzz/9kpGK+rNf/uaH7i93nLGtUB73twDwiQCfCPCJAJ8I8IkwxyeWX3zzJ3ax+61vnLtBd5ehsnU4p/qMTWm2DZ8sCnwiwCcCfCLAJ0LQJ5Zv/+xr1ipf/9m33aC7yPDQPnufDAY31ZqETwT4RIBPBPhEgE+EGp9Yzr/xdWuVf/jNX7hBd5OsT2qATwT4RIBPBPhEgE+EhXxi+OFvfvkta5XtT3/uht01Sj45nEyVmk7mdFXgEwE+EeATAT4R4BNhcZ9YvvKDX3/HWuVLX/2pG3Z3KPhkom7cs9qemZIHPhHgEwE+EeATAT4RlvWJ5cdf/t7nRiof/s0v/9gNuwvkfDIbqYkrHtPwQh8FPhHgEwE+EeATAT4RmvnE8tOv/vZDY5XP/8UdOV0l55NpxiE3So1c0QGfCPCJAJ8I8IkAnwgxPrHI6Srf+W7vT1fJ+kSXxSe5Fwb4RIBPBPhEgE8E+ESI94nFn67yH8/Zud0Xsj45zJTNH1zRAZ8I8IkAnwjwiQCfCG35xOJPV/mfe3m6StYnei+84r3w10pdu6IDPhHgEwE+EeATAT4R2vWJRU5X+dqf9ux0lZxPBpdKjaxQZqOiTuATD3wiwCcCfCLAJ8Jt+MTgT1f5yV/py+kq51MandGxe0UaGSo1PT4/HmYkw8AnAnwiwCcCfCLAJ8Kt+cSSOV3lf7pbp6vAJwJ8IsAnAnwiwCfCLfvE4k9X+e2P7srpKvCJAJ8I8IkAnwjwidCJTyz+dJXv/Zv+n64CnwjwiQCfCPCJcAd8Uj6A9Xbo0CcWf7rKr/+rPp+uksQnQztpDKNx7hIwxyMaVt7N0wVJfJK7Zc3EXR96MDiVSTQ6c4O6JIlPApPiTO8NtFy6QV2SxCeBSWE51BEpXueiC27LJybzhlGhqkuzsj6x+NNVftnT01VS+cQp41AfzSxz0RnNWCNafKyXT4a2NBvrWFl7UCxuTun58IYGub93SSqfzJkUg+lETwlSrJ45TKlTUvlk3qQwnJFhKEAr45MZVdBeEIrqCp8sgD9d5Rv/1A3qDYl9QlzThLHHoo3VlFKS+2OXJPYJcUqTgq+15tBTp/tFR2KfEHMmhT4zN8WkSOoTIj8p6E/XOiMr45NcXWNZC59Y/OkqP/urblAPSO8Tc5XKzHrJGvvELDL9cd4aHZB19MmcSUEr5tn5pCPS+yQ3KSgd1F1bJZ/oNSbbA2UytZMJoZ/phYEvkj5nmPPJhPr35jVBi5dtV2yPHvjEkDld5Zu9OF2lBz7RV6zMvFxnn+ggZF8OBtu3kYZaeuCT4qSY6WuZ5pc7ndADn/hJMRvZU5NXySf6fGvqgOXXKOf4hDAnY+vVT2vXOcO4f0KLFHfm9oyGtL8W0hefWDKnq3ya+HSVPviEXmbSs9Y+oZeZGdVMjKkrdkkffCKTQm/v0QwT2KQfPuFJQVPCDs4scTvktvbHD671PiKqm1vuZ2onE4L+zJf2kH7qnGHsE92ls99GqyH5bm4r9MsnlszpKl/9XTesc3riE/RPLPmXekmaZFr0xCeZl4dnNF+k6KD0xCf65bXMDZklbofcmk80x+YwPrPoz9ROJgT9TWrMnY85w2T/CfVYzIoYPcuWrxap8Yk5jmY6ttyQLbtLceZ0lS8nOF2lBz4p7Gdda59kN/3N9Lau3MHUndEHn2QnhYXeUNjS3gF98ImdFKSTG7eIogGT8bjraXGrPiH4yJw6n/ASYs4w8YneRnhptnbdyjGBtf0TGh/fgrNRYU6+dTKnq/yg09NVeuATCkd2FSL/xw7pgU8oBDz7J7RJL3ySmRSM3hTe+azRA5+4SaEXtzm6nha37ROOPj3xJqp5PtGzgSnPGeZ9MqBewane/Xgr528t55PBaZolWuZ0ld+4QbdNcp/olOR6pOvrk3OKwNQqJKlNeuCTzKTw6I0InU+T5D6ZNykoI7Jm3h234pPDEe8DMXvVdZ+Lau+OQdFDxCe8sZMqbxcYc4ZlfHJKf6WFy+2cA7ukT5KSOV3l9meaVD6ZDglaaBKy3JxxX36on9s/KKOGVD4Z6UlBk4TgeGjJbpvBhs4nRSqfzJkUNFQNL+1W6BSKTeWTOZPCQ8NXxSf6dEZqYVtV1766PBxf0pKAlhDeJ/TSLB7YEXOGZXxi+3O3dDTLMj65NE11aE5MNYY04zobqpuzc30kgll7nh3rheG5PdjN9M/0jE+05cPM6Sq3ec+uJD5xE40yM8n2RvXM4LmVfmoVSXyiD0wxDG+O/cKysGmjtDy5bZL4ZP6koOGXZlkzvOxcq5okPglNCuZmjmNun9va3nU20cvS7YlX5GxMQ6bU4Icjt0ClN5wPjmlGGN3I2+YMo/f7w+t1f/aW5pnFfXJ4w+rXjbp9SgNuqEmHrBt9zI1Z1OlNdtvGLXqH8nDbjDl9TVtC0WRPV7mde3Yl8Uk/SeKTfpLEJ/0kiU/6ya3vP6mAFoFeN455w7JQt+UWDhU2LOITe3zX5YhHMtt3oj/zCoEWSuGwNuqauE3+9Jn2N5tlT1dp+yRI+ESATwT4RIBPhDvmE+ri3NqO2GW2d43LPtFdFVe06nHP3fjEkj1dpb2TIOETAT4R4BMBPhFS+mR7zrWH5w3zXN7mcT1N9sdnfKL3jch2TL2zTD937BNL9nSVNu7ZBZ8I8IkAnwjwiZDSJz0j0id6G5cc1kb2MPtIkvjEkj1dJe4kSPhEgE8E+ESATwT4RIj0iemgcN9q6t6Z0CeW7OkqTU+ChE8E+ESATwT4RIBPhFqf0FK5eDqu9olsn9N38zG9ktk2HzRAf3bHtF7KDQpyO1q6Ie50FfhEgE8E+ESATwT4RKj0ie58OPweHOp9WNzrgTnSWQ2v7X4U+YzRjuFcG8Zwe/uBgjQ9XQU+EeATAT4R4BMBPhFq+ycrQYPTVeATAT4R4BMBPhHgE2E9fGJZ6nQV+ESATwT4RIBPBPhEWCefWBY8XQU+EeATAT4R4BMBPhHWzyeW2tNV4BMBPhHgEwE+EeATYV19Yqk4XQU+EeATAT4R4BMBPhHW2yeWuaerwCcCfCLAJwJ8IsAnAnzCFE5XgU8E+ESATwT4RIBPBPgkj5yu8v/CJwx8IsAnAnwiwCdCzief2kUpAAAA0AAnEwKrHBmos/Y3P+oB/20P+K/VP3FjkxQ3Nim5r5QbmbXnn/QjH33gJ+rv/iWgeQafBOjLxr+tHvB99SM3NklxY5OS38nmZb350dpvHBc+UX94BDS/gk8CwCce+ISBTwT4RIBPGPgkBHzigU8Y+ESATwT4hIFPQsAnHviEgU8E+ESATxj4JAR84oFPGPhEgE8E+ISBT0LAJx74hIFPBPhEgE8Y+CQEfOKBTxj4RIBPBPiEgU9CwCce+ISBTwT4RIBPGPgkxCr75OTCncv6eMMN2dp6+l69Pbn3SL11r7OssE/uuUlx8dQNIO5dXLw7ub+v7rvXGeATAT4R4BMGPgmxwj7Zv3inPXJfL0rf2UFb79Uj8/xCqY9NIcvK+mRj/60x6luaEl+YITQFLtxEua9URjIW+ESATwT4hIFPQqyuTx6LMD6mxeiJKZFaXFeFhrFjhJX1yT33vHVPOZ9uPVXqvS1tPeap44FPBPhEgE8Y+CTEWuw/ea+UWaTSktMtTre2xDGe1d9/Qj55YUtkVvbpCU0KV2TgEwE+EeATBj4JsRY+2VcX+mkjs+Fr65FSj12RWXmfPJXdRiQWr1MqFzb+wScCfCLAJwx8EmIdfHJfXZitXHpFXBai5BPpqzhW2icb96nGat/V/x2VbYmgcmHbH3wiwCcCfMLAJyHWwCf3eE9B0Sem05Jhxfsn9/TueHVhNngVfVLoqsEnAnwiwCcMfBJi9X3yhRwQu9b9E8PGvrMo+ieLAp8I8AkDn4RYdZ88vcicaZLZCT1np8Ea+MRMAv30NKNWrdnCEcPwiQCfCPAJA5+EWG2fbLx/709lNKda8EGytBDdd0VhHXzyyE2Bt/5MFOqrFM/uhE8E+ESATxj4JMQq+2Tj/b7Y5IXZQ0CLTrfx673bR59lDXyyIdV+xIcOb5Q3/MEnHvhEgE8Y+CTE6vpk473af+TY5/MYn14YodDf5lxwZVV9snGh7KUCqFfiL65y3158xU2RPPCJAJ8I8AkDn4RYWZ88Vjlkmfni7b66eCu75bOsbP/k5LG+5sz7t3KevEUP3v/CneCYAz4R4BMBPmHgkxCrvj9+GdZh/8liwCcCfCLAJwx8EgI+8cAnDHwiwCcCfMLAJyHgEw98wsAnAnwiwCcMfBICPvHAJwx8IsAnAnzCwCch4BMPfMLAJwJ8IsAnDHwSAj7xwCcMfCLAJwJ8wsAnIeATD3zCwCcCfCLAJwx8EgI+8cAnDHwiwCcCfMLAJyHgEw98wsAnAnwiwCdMT3xyac/VJrbdkMHgdEovh+5F98AnHviEgU8E+ERI55Mru9RU6oEbsPNaHbzZfaA2d9yAbumFT85pehyb0uFkap4Hp9s0jP7BJ25BlhT4hIFPBPhESOaTZ+rNruGJG/Bc7VmRvFSvzXPH9MInQ6XGrug4V6PrwWAMn8AnGdzYpAQ+EeATIZVPnqldV3K8VuqNLT1R6sCWOqUXPrlRajpz5SzwCeEWZEmBTxj4RIBPhEQ+2VVq84Hzh+GhUsoVjw6UunLFDunH/hO9cWs0LikFPiHcgiwp8AkDnwjwiZDGJ6QTy0ve2rWZ6ZRcKbXnih3Sk/3xM7dD/jLnFPiEcAuypMAnDHwiwCdCuv3xRztXe7Tc3LNGoZL0SfSeelfskJ74RDMbj2gSjE7dSwI+6Qmf9MMnPeAD+ISBT4SEPtE8oOWm2ZFS9An3W7qjRz7R3NBEOHRl+KQ3wCcMfCLAJ0Jin+gtX2Y7V9EnrtghPfPJgCbCuSvCJ70BPmHgEwE+EVL75Oi19cnrzP6TA5XiiOE++OR4KgqZKDVyRQI+6QnwCQOfCPCJ0AOfPNNPr2h1nM9jpOIrV+yQPvhEn86oRsOhPspLTeyw6zExVGqqn32PpUPgEw98wsAnAnwipPbJFZ91sisnyj93u1Q6ph/bu2bHN+biKpe872Smd80Ll25op8AnHviEgU8E+ERI4hO9g+SAPPLktXruBh0d7WxaoaS64Erf9p/0B/jEA58w8IkAnwhp+idPXu8p9TJ3QiOxc7Wp1Guz+SsB8EkI+MQDnzDwiQCfCMn3n/QG+CQEfOKBTxj4RIBPBPiEgU9ChHwytPt0+IrIa0HAJ8fT0oU8V525PjkbjY5ng9nxaHTmhqwDc31yqbaPz2m+mGZOS1594BMGPgkR8Mlkem7xp12uPvN8MjsenJJV4ZPBVCbCRLnbLawDc3xyrUb2gkmHI7U97wqvKwp8wsAnIeb7ZOICs16EtneVbzSw6szxybXvqo6zZ+OuOmWf0JS4dkVa1VijpMAnDHwSYq5P9BmWl2vVlTfAJ8wcn+hemtvONU14/m3nlH0yyuiUZo0kh/knAT5h4JMQ83xCOrEM16uXAp8w87Z3mfNxacX8OHcx05Wn7BOaDOIQmjXWx63wCQOfhAjtjx8cTvTyY502D8Mnwtz98WQSzZpNirJPdDC4gwKfrCXwSYigT4jZ9lptHoZPhPk+GVwrfX2H0Rod8jd3f7y+i9GNzoU+8g/bu9YQ+CRElU/Mlq81WpLCJ8xcn0zMbmjTbV2jA4bn+GQwOL8ZqdHNmb7xRObCrqsOfMLAJyGqfTIYwSfwieFQjmrSq+d8gNPqM9cnDr2jcY0OqIdPGPgkRK1P1iov8Illjk9oIvBOA1LL+uw0qPAJiXXN9i/CJxb4JES1T4ajdT+fUQOfEJnzTwbba7TTIOiT09F6HegGn3jgkxBzfEKLTzWhpJxtr9eeV/hEmLf/5EyEcrNOF+EJ+OR6pIbrtK6lgU8Y+CTEvP7JmTbK9vqd0DjXJ3paGNZJKXP3xw8O9a3f1HC8VsvRsk/GFI7Jeq1pWeATBj4JUbP/ZK0I9U/Wj/k+WUuq9sevGfAJA5+EgE888AkDnwjwiQCfMPBJCPjEA58w8IkAnwjwCQOfhIBPPPAJA58I8IkAnzDwSQj4xAOfMPCJAJ8I8AkDn4SATzzwCQOfCPCJAJ8w8EkI+MQDnzDwiQCfCPAJA5+EgE888AkDnwjwiQCfMPBJCPjEA58w8IkAnwjwCQOfhIBPPPAJA58I8IkAnzDwSQj4xAOfMPCJAJ8I8AkDn4SATzzwCQOfCPCJAJ8w8EkI+MQDnzDwiQCfCPAJA5+EgE888AkDnwjwiQCfMDmffGqvPw4AAAA0wMmEQP8kA/onnp70T7bS8zv96J+4sUnK30Y+GPRPGGzvCgGfeOATBj4R4BMBPmHgkxDwiQc+YeATAT4R4BMGPgkBn3jgEwY+EeATAT5h4JMQ8IkHPmHgEwE+EeATBj4JAZ944BMGPhHgEwE+YeCTEPCJBz5h4BMBPhHgEwY+CQGfeOATBj4R4BMBPmHgkxDwiWftfPLInZulTtwAZqV9cvL2Qqn37zbcS8MGDTJc5AYT8IkAnzDwSQj4xLNuPnnslqHqvhsgrLBPPlb7X7zTRlHv3RAN60S9cAME+ESATxj4JAR84lkzn7y9cIUyq+uTR86dukPyzhaJ/ceuUAY+EeATBj4JAZ941ssnb1Vx045nDfafvMt0y/azXZUC8IkAnzDwSQj4xLNWPqHlqeZtaQOPZg18su93GtndSBf5PSoMfCLAJwx8EgI+8ayTTzZO7r97bPcalPaerIFP3qkvXGlr68XJx++cUp66QRngEwE+YeCTEPCJZ932x2t0N6V0TNNq++TEuKNkjw19eMIj98IDnwjwCQOfhIBPPOvok62tL5Tad0Vh9bd3nei+WbFn9l6pt64owCcCfMLAJyHgE896+mTrrVKuJKzB/hNd7VJvZL88CD4R4BMGPgkBn3jW1Ccn69g/Ieb45B36JxXAJwx8EgI+8aypTx6XT+JbE5+Udr9flMwKn3jgEwY+CQGfeNbJJ188+sLuhX96Mefki9X1yQt2yMb+hdXoxuNHH5vC1v3MQV8CfCLAJwx8EgI+8ayTT96bQ5yUunDL0jwr65P7us7mgiuPuFP2gq+1sl+8ipkBPhHgEwY+CQGfeNZ0e9cc1mJ712LAJwJ8wsAnIeATD3zCwCcCfCLAJwx8EgI+8cAnDHwiwCcCfMLAJyHgEw98wsAnAnwiwCcMfBICPvHAJwx8IsAnAnzCwCch4BMPfMLAJwJ8IsAnDHwSAj7xwCcMfCLAJwJ8wsAnIeATD3zCwCcCfCLAJwx8EgI+8cAnDHwiwCcCfML0xSenl9tKqe3JsXs9OLwe6gGXh+5158AnHviEgU8E+ERI7JM3SrmS5tmBUpvP3Iuu6YdPJlod47FxihmgXTIaDkf0pK7NkM6BTzzwCQOfCPCJkNYnr2kh6YpHO5vqtX6+Ups7ZkDH9MInpJOJKzq2x66gTSN9lk6BTzzwCQOfCPCJkNInO3sZn+wq9cCWrpTataVO6YVPqDfC/ihB0yr4t1sFPvHAJwx8IsAnQkKfPCNtiE9eUYm7JVR84ood0gufHFPdt2fuRZ5z+tOZK3cLfOKBTxj4RIBPhHQ+OXhJ/hCfUE/lwJby5e7ox/6Tmd5xokbj0s732ai0Kawr4BMPfMLAJwJ8IqTyyau95/pJfEIFt7nLbPCSvSrd0Q+fEId6Twk55dS9NpzSkDRbu+CTLPAJA58I8ImQyCcP3S4SMQcVrmzJ+qT7PSi98YlmdkPTYOhe2F7LdP5msA6ATzw98UkP+KAfPukDP0I+mDQ+Odh0haBPXLFDeuUT6qXQRDh3Zeqw5Hsr3QKfeOATBj4R4BMhhU+eeHWIOV5mtne9VuqlK3ZIb32S2CbwSRb4hIFPBPhESOGTA1pU5iC9PMw4hNzy0BU7pA8+GSt1YyRyqLd3mf0lyW0Cn2SBTxj4RIBPhFT74x201HQlkswbW9pNcnhXP/on1+Y8eMOlGUCGyXJjBnYMfOKBTxj4RIBPhN745Oi12jMnoOzs2fPku6Zn27t6BHzigU8Y+ESAT4T++MRccGX3zYE6SHK5FfgkCHzigU8Y+ESAT4TEPukR8EkI+MQDnzDwiQCfCPAJA5+ECPvkfOjPkVkP5vrkcDJVajpJdkOBJFT55HAkx7qvA1U+OZtspzsTuXvgEwY+CTHfJ+f6SvqZcy7Xgzk+uVb6hgJ6YrhjKNaDCp/QFIFPiJm+vGuy05CTAJ8w8EmIYP9kDJ8MBhO+fqe+lucaTY6wT4ZTWiWHT05HyY/07x74hIFPQsAnnpJPDv1FOs9IKOuzAAn55HQ01rddWHef6EskrVN31QGfMPBJCPjEU7k/XqmRK60BAZ+MtVLhE315i/XZa+KBTxj4JAR84qnyCfVP1mgpOt8n29v6ET4Z6XOPj2/00zpNCfhEgE9CwCeeCp/M1mshOs8np26dfO19QslQQzMJ9M0n1mi7F3zCwCch4BNP2CenCe8okII5PhmP3CHTa+8TmgCcDL3lK9GN8BIAnzDwSQj4xBP0yWWimzEno+ST2VRmBvgkkwzdV3HF1Qc+YeCTEPCJJ+AT3tCzRpR8opebOdZm3ij75DJT+3OaFK64+sAnDHwSAj7xzPXJ6Wh9NmgI8/fHW9a+fzIb+UPHz5S6dsXVBz5h4JMQ8Ilnjk9OR3xG42BwzHsQVh/4RCj7ZDCbqpGbK6ZrpBP4RIBPQoR8cjalnvz1ul1PouCTU3/HGs36LDrgE2GOT8yMcXOob4y3Vmc1wicMfBIi2D9ZQ4L749eOKp+sGXN9sp7AJwx8EgI+8cAnDHwiwCcCfMLAJyHgEw98wsAnAnwiwCcMfBICPvHAJwx8IsAnAnzCwCch4BMPfMLAJwJ8IsAnDHwSAj7xwCcMfCLAJwJ8wsAnIeATD3zCwCcCfCLAJwx8EgI+8cAnDHwiwCcCfMLAJyHgEw98wsAnAnwiwCcMfBICPvHAJwx8IsAnAnzCwCch4BMPfMLAJwJ8IsAnDHwSAj7xwCcMfCLAJwJ8wsAnIeATD3zCwCcCfCLAJwx8EgI+8cAnDHwiwCcCfMLkfPJ76usfAMcxfCLAJwx8IsAnAnzC5HzyqbudBQAAALA8TiYEtndlwPYuD/onTE/6J1s94G/3Ix9ubJLyffRPHNh/EgI+8cAnDHwiwCcCfMLAJyHgEw98wsAnAnwiwCcMfBICPvHAJwx8IsAnAnzCwCch4BMPfMLAJwJ8IsAnDHwSAj7xwCcMfCLAJwJ8wsAnIeATD3zCwCcCfCLAJwx8EgI+8cAnDHwiwCcCfMLAJyHgEw98wqydTzYu3GlqFxtuCLPSPjl5vK/U/uMT99Lwzk0J9c4NEOATBj4JAZ944BNm7XzCOlEv3ABhhX3yWL3lwmNbID52E4L/lgE+YeCTEPCJBz5h1s0n+355WmR1ffJYPXKlLSVCua+eulIZ+ISBT0LAJx74hFkzn+y/d4U5rK5PqE/GG7qkN3Jf3bOFecAnDHwSAj7xwCfMevnkkdm+c/GuuOvEsLo+uU+VfqzrvLGvvrCDTsyUUI9yO1QE+ISBT0LAJx74hFkrn7w4+fidU8qcbT0rvP9k472u88n7i/tuwNbJvXdv982kKO89gU888EkI+MQDnzBrtz+e2HhMi1HZoyCssE9cncvuuKcPTyj3UeATBj4JAZ944BNmHX1C0Pp6adm6yj55evF+w7jjfXFT3z0aWDrUDT5h4JMQ8IkHPmHW1Cdb++UOyur65MWFMhu6nurNXsWTTe7P6aDAJwx8EgI+8cAnzLr65N069U/81r2nczZvoX9SAXwSAj7xwCfMuvrkYt8VPCvrE5KIdMbulXzyse275IBPGPgkBHzigU+YdfLJxuNHH9vSfT5sNsvq9k/eeYl8YWt+/9Fj2ynZeH9R6p3AJx74JAR84oFPmHXyyQu+1sp++YgmYoX3x288Uvv3N7ZevLt4ZPfHf+GmhPpi7qk48AkDn4SATzzwCbOu27vmsMI+WRb4hIFPQsAnHviEgU8E+ESATxj4JAR84oFPGPhEgE8E+ISBT0LAJx74hIFPBPhEgE8Y+CQEfOKBTxj4RIBPBPiEgU9CwCce+ISBTwT4RIBPGPgkBHzigU8Y+ESATwT4hIFPQsAnHviEgU8E+ESATxj4JAR84oFPGPhEgE8E+ITpi09OL7eVUtuTY/d6cDaxA87d686BTzzwCQOfCPCJkMwnr55vKvXy+Sv30vDsQKnNZ+5F1/TDJxOtjvHYOMUMGCk1nYzHN/Rajc2QzoFPPPAJA58I8ImQyCfP1Msd/fxAKfbHzqZ6rZ+v1Kb5U9f0wiekk4krFjkmoaTposAnHviEgU8E+ERI45MD9dKVnil1YAq7Sj0wBRKK2rWlTumFT4YVnRD4pAfAJwx8IsAnQhKfkDGuXJHUYjzyipaW3C2h4hNX7JBe+ER3QrZn7kUeUs3QFTsGPvHAJwx8IsAnQhKfkEPMpi0NuUXR02vupxDZcnf0Y//JTO84UaPxoXtNXI/t7pPpqRvQNfCJBz5h4BMBPhGS+OQ5LR25M+J8Qo9uc5cM6ph++IQ41PvkySlOH7OReUkMM5LpEvjEA58wPfFJH/gR8sF8kmT/yUul9pxQNmlBSU/0KJvAtE+634PSG59oZrpDkt+8ZTaFuXK3wCce+ISBTwT4REjjE70bXqnNg7093VV5TgPoKecTV+yQXvmEeik0EfK7389pSJIjhuETD3zCwCcCfCIk8omgT0LRz9Rjke1dr92wbrkTPjlz5U6BTzzwCQOfCPCJkNgn+gRGU3iYcQi55aErdkgffDJW6sZI5FBv79KdkfH2sT3ca6b3qlyaYtfAJx74hIFPBPhESOqTV3v+dEYyyxtb2k1yeFc/+ifXsvPdueN06l4Sk/kHEt868IkHPmHgEwE+ERL6ZGfT24R47XbR7+z5g4m7pGfbu3oEfOKBTxj4RIBPhEQ+efLsQO1d5a+roi+4svvmQB3kB3cFfBICPvHAJwx8IsAnQur98f0BPgkBn3jgEwY+EeATAT5h4JMQc32S2a+T7EIwCZjvk+ObkVI3coeBtSDok9l4lOY6c8mo8om520SiC4MnAD5h4JMQ83xirp8vpLoSTPfM8clsW13r59NR6NJrK8lcn5BL9PwAnxhm+vKuazRLEPAJA5+EmOOTy8xV9SeJDmNOQtkn50pxx4T6bOuzJA32T+ATC61f8DWT1gf4hIFPQlTvPzlTU1daB8o+ocWnK5kzThNdY6174BNhnk/0hV3XaD2LgU8Y+CREtU9Ga7S1a45PtENkAlB5bTaVwyfCHJ/oy1usz14TD3zCwCchKn2yVlu75vhkRgsOmQLwCQGfEPr4DHeYxlpNDPiEgU9CVPnkdK22ds3xibnus5PIGXxCwCfmwklqaKZCusskJQE+YeCTEFU+ma7V1q55PrG3QBsNt9VwSIW1OZwHPhHKPsncTFVv+cocvbLiwCcMfBKiwieX67bPcY5PBN09WZ9zUOATodInpq/iiqsPfMLAJyHCPlm3rV2VPkl2P4E0wCdC2SeXGZ/o+cIVVx/4hIFPQoR9sm5bu6p8QouQdTqdET7xlH2ib9LN0aBuqznfdS2ATxj4JETQJ2u3tSvsk+M1swl8kqHsk8FsqkZufpiukU7gEwE+CRHyyakaudL6MG9//PnlyB3Ms04EfHJI/TS1vV7d1jk+MafH3xzqG+Ot2fH08IkFPglRsT9+7ajaH79eBPsn68dcn6wn8AkDn4SATzzwCQOfCPCJAJ8w8EkI+MQDnzDwiQCfCPAJA5+EgE888AkDnwjwiQCfMPBJCPjEA58w8IkAnwjwCQOfhIBPPPAJA58I8IkAnzDwSQj4xAOfMPCJAJ8I8AkDn4SATzzwCQOfCPCJAJ8w8EkI+MQDnzDwiQCfCPAJA5+EgE888AkDnwjwiQCfMPBJCPjEA58w8IkAnwjwCQOfhIBPPPAJA58I8IkAnzDwSQj4xAOfMPCJAJ8I8AkDn4SATzzwCQOfCPCJAJ8wOZ/8nvr6B8BxDJ8I8AkDnwjwiQCfMDmf/HP14WfA8Y8UAACApXAyIbC9K8NHSv1bJ9215/ex/uWg9S9XWnv+EPlgkA8G+09CwCce5IWBTwT4REA+GPgkBHziQV4Y+ESATwTkg4FPQsAnHuSFgU8E+ERAPhj4JAR84kFeGPhEgE8E5IOBT0LAJx7khYFPBPhEQD4Y+CQEfOJBXhj4RIBPBOSDgU9CwCce5IWBTwT4REA+GPgkBHziQV4Y+ESATwTkg4FPQsAnHuSFgU8E+ERAPhj4JAR84kFeGPhEgE8E5IOBT0LAJx7khYFPBPhEQD4Y+CQEfOJBXhj4RIBPBOSDgU9CwCce5IWBTwT4REA+GPgkBHziQV4Y+ESATwTkg4FPQsAnHuSFgU8E+ERAPhj4JAR84kFeGPhEgE8E5IOBT0LAJx7khYFPBPhEQD4Y+CQEfOJBXhj4RIBPBOSDgU9CwCce5IWBTwT4REA+GPgkBHziQV4Y+ESATwTkg4FPQsAnHuSFgU8E+ERAPhj4JAR84kFeGPhEgE8E5IOBT0LAJx7khYFPBPhEQD4Y+CQEfOJBXhj4RIBPBOSDgU9CwCce5IWBTwT4REA+GPgkBHziQV4Y+ESATwTkg4FPQsAnHuSFgU8E+ERAPhj4JAR84kFeGPhEgE8E5INZNZ9MlDpzxUjgEw/ywsAnAnwiIB/MLfnkcKQs0+H41A3rhKFSY1eMJJlPHrpJp67cAOLN3t7V7rOX6pl73TGJ8rLz2k2JB26A4cANTDIxEvtkV6kDVzw6erKpHuy+OchPne5I5ROq9tUrigQ9uSEETRjLSzegUzrPxy6FwM8I86dJkmXGLfnknFp2rBkasVy6wbfPnffJK/VSzwA7V3q67bphe242eabUE1PomDQ+ebhn6v9kj6bEjhmiefBy10L56Z60PnlOU0IWI5uu+Eqph6bQMYl88kCmAKWB54FX6srNFW5At3Scj2c7Oy9zPpkzTRItM27RJ644mG3Ti3P34ra58z7Zk8bXK+em8ESpTVMww1IkJolPdqSmm5laP9jzaklASp/svDzI9E/Ism5KUIc2s6beGWl8QmHg/hhNDFdv0oktJKL7fNDqpvfJnGmSapnRgU/sK96rMRvTIl8NxzP3+lKNBoPDCXVjbo7163Mqjm5kG9nh9c2U3r99eegG2Pdf0sDtjDhmY5LW9HK2Ctu7mB2qt1li0JKD46K79a7YJWn6J8Km36Sjc/Q8SR/NktAnb9SbzPYuWkrIAoVmigRrGYn6J5SG57b0QLl1i5099fL1s4TrGYl9MmeapFpmdOITkoCamsIxDZ9ejifaEdYZJIAJDRtrQ6jrG62JS72NzPpDv30yHmvduCHu/ZdaIOrGDBqc0p9HE/Mu+n9VfPJKqdf6+Q1VVBYXVE6wcSOtT177PpvZCqg5SLT0SOeT13pBIT7RKxuyTn7g5pRuSeQTkgetju/ozaBuz4AZotlLtHsxuU9K0yTZMqMbn+iXWgdkAt6VQvowXRbdWzEdk8EZlVyRtGP9I9CQoSn49+uvMO44pUGuQ0M/sDI+4Y2iehlqChoqJ+jap/PJk+c6Ks9z9nj1gAapzSRGSeWTnT1jDPGJXumUBUZh52xHpNofb3eoqdeF9n/2Ug9NY5TUPilNk2TLjO58Qkt8etp2Q3TZCCKzgYp6HLybJf9xQr4w8352TGZQrhxHap885y5scd5IsCqasH/y6qFZTrhpwexs0tpoCqEk8skbJ4+gT/ZcsUOS+eRod2/ePGF2PadY2+qDTwrTJNkyoxufXNuXY3rKUJQBFUs+Ob2x79WYAZn3s5LoT7K7f2V8sikbeZKta3gS+kSjj6Au9thpqqRYdKTxycFL5070T7Q19NJRu6NkFL3dxxU7JblPitMk2TKjG5+M7HYu8ondaJWh0id6S9b2sd5SNq9/ssI+eZbpuD+h+vGiQy9GEuyNTuyTuUcw8fGQ3ZLEJ2ZbRhaaHWiY1J+GJNiplsgnL3llW+8jKK5304ziSp2S2ielaZJsmdGFT2akE7PgP6ShfFwXU+kTGuL2lVT5ZCI75gcz3qcST0KfPNnLnaL2wK+I0WyU4uy11D6hSLxxRWFPTj7okiQ+ORD0Zj56osUDrYvyAaE0dVKcxZfGJ9l+6ctSYzxMc3JnYp/MmSaplhm37pPDMdmEraB3ufPi/tQWKn1CptjWAppd0oCgT/SOefO2Q33M1533yRO769XwxswnB3yS0k6SDRvpffK83Bc52FvD8xm1OngGoMWE68NuptmVlMYnmXMtaLZgpTp2S1vAuiGxT+ZNk0TLjFv0iTDMXHHFiMEyMgMqfWKOLzbos1bMkHk+kbdtn9Kwu+2TJ3tq066LHhxQ0Q58pszeFH+IZMck8YmOjOmzP9njY7koJOoBTYk3m6kODe2PT3hu2MmcndMpibZ3vdrj+rrOiN6e8/LZztGrq2RHkSf2SXmaEGmWGbfkkxUgjU8Km8plHXz39Z56+TzJKjmRxCc7V5s0BfYOHmZq/UYbZTPhCY098ok+cPql2nsgu+U7JtX++KOdZ7SmpTb1ioV9TZNB7aU8obHjfJBMLH5eKE4TTYplBnwSIun++J6RxCe9JLFP+kQyn/QP5IOBT0LAJx7khYFPBPhEQD4Y+CQEfOJBXhj4RIBPBOSDgU9CwCce5IWBTwT4REA+GPgkBHziQV4Y+ESATwTkg4FPQsAnHuSFgU8E+ERAPhj4JAR84kFeGPhEgE8E5IOBT0LAJx7khYFPBPhEQD4Y+CQEfOJBXhj4RIBPBOSDgU9CwCce5IWBTwT4REA+GPgkBHziQV4Y+ESATwTkg4FPQsAnHuSFgU8E+ERAPhj4JAR84kFeGPhEgE8E5IOBT0LAJx7khYFPBPhEQD4Y+CQEfOJBXhj4RIBPBOSDgU9CwCce5IWBTwT4REA+GPgkBHziQV4Y+ESATwTkg4FPQsAnHuSFgU8E+ERAPhj4JAR84kFeGPhEgE8E5IOBT0LAJx7khYFPBPhEQD4Y+CQEfOJBXhj4RIBPBOSDgU9CwCce5IWBTwT4REA+GPgkBHziQV4Y+ESATwTkg4FPQsAnHuSFgU8E+ERAPhj4JAR84kFeGPhEgE8E5IOBT0LAJx7khYFPBPhEQD4Y+CQEfOJBXhj4RIBPBOSDgU9CwCce5IWBTwT4REA+GPgkBHziQV4Y+ESATwTkg8n55F+pf/QRcHyq1H/zl4Dh/1R/15XWnWdKudLa83eRDwb5YCgfTibEVz/8/DPg+Pf+R/Wfu+La8/98+A9cad35+ocfutLa8w8+RD4cyAdD+RgM/n8yGvvlR8g7EwAAAABJRU5ErkJggg==\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eSelect the north-west corner of the matrix and assign as many units as possible (min(50,20))\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eIn this case total transportation cost is = 20*5 + 30*1 + 5*2 + 35*4 + 5*1 + 85*6 = 795\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eYou can watch this video for further information \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.youtube.com/watch?v=Q31jKiEXxdc\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eTransportation problems\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eYou should return assignment matrix and total cost\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [assignmentMatrix, totalCost] = transportationNorthWest(x)\r\n\r\nend","test_suite":"%%\r\nx = [ 5 1 8 9 50;\r\n    1 2 4 6 40;\r\n    7 9 1 6 90;\r\n    20 35 40 85 180];\r\nassignmentMatrix = [20 30 0 0;\r\n    0 5 35 0;\r\n    0 0 5 85];\r\ntotalCost = 795;\r\n[assignmentSolution, totalCostSolution] = transportationNorthWest(x);\r\nassert(isequal(assignmentMatrix, assignmentSolution))\r\nassert(isequal(totalCost, totalCostSolution))\r\n\r\n%%\r\nx = rand(4,5);\r\nx(end+1,end+1) = 270;\r\nx(:,end) = [50; 99; 71; 50; 270];\r\nx(end,:) = [10 38 42 76 104 270];\r\nassignmentMatrix = [10 38 2 0 0;\r\n    0 0 40 59 0;\r\n    0 0 0 17 54;\r\n    0 0 0 0 50];\r\ntotalCost = sum(sum(x(1:end-1,1:end-1).*assignmentMatrix));\r\n[assignmentSolution, totalCostSolution] = transportationNorthWest(x);\r\nassert(isequal(assignmentMatrix, assignmentSolution))\r\nassert(abs(totalCost - totalCostSolution)\u003c0.001)\r\n\r\n%%\r\nx = rand(5,5);\r\nx(end+1,end+1) = 250;\r\nx(:,end) = [70;30;60;40;50;250];\r\nx(end,:) = [50 34 46 78 42 250];\r\nassignmentMatrix = [50 20 0 0 0;\r\n    0 14 16 0 0;\r\n    0 0 30 30 0;\r\n    0 0 0 40 0;\r\n    0 0 0 8 42];\r\ntotalCost = sum(sum(x(1:end-1,1:end-1).*assignmentMatrix));\r\n[assignmentSolution, totalCostSolution] = transportationNorthWest(x);\r\nassert(isequal(assignmentMatrix, assignmentSolution))\r\nassert(abs(totalCost - totalCostSolution)\u003c0.001)\r\n\r\n%%\r\nx = rand(4,2);\r\nx(end+1,end+1) = 117;\r\nx(:,end) = [10;10;30;67;117];\r\nx(end,:) = [93 24 117];\r\nassignmentMatrix = [10 0;\r\n    10 0;\r\n    30 0;\r\n    43 24];\r\ntotalCost = sum(sum(x(1:end-1,1:end-1).*assignmentMatrix));\r\n[assignmentSolution, totalCostSolution] = transportationNorthWest(x);\r\nassert(isequal(assignmentMatrix, assignmentSolution))\r\nassert(abs(totalCost - totalCostSolution)\u003c0.001)\r\n\r\n","published":true,"deleted":false,"likes_count":6,"comments_count":0,"created_by":8703,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":71,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-25T09:15:08.000Z","updated_at":"2026-04-25T21:05:39.000Z","published_at":"2020-11-25T09:57:35.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\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:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"705\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"1615\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\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\u003eSelect the north-west corner of the matrix and assign as many units as possible (min(50,20))\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\u003eIn this case total transportation cost is = 20*5 + 30*1 + 5*2 + 35*4 + 5*1 + 85*6 = 795\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 watch this video for further information \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.youtube.com/watch?v=Q31jKiEXxdc\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTransportation problems\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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\u003e\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 should return assignment matrix and total cost\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":2869,"title":"There are 10 types of people in the world","description":"Those who know binary, and those who don't.\r\n\r\nThe number 2015 is a palindrome in binary (11111011111 to be exact)  Given a year (in base 10 notation) calculate how many more years it will be until the next year that is a binary palindrome.  For example, if you are given the year 1881 (palindrome in base 10! :-), the function should output 30, as the next year that is a binary palindrome is 1911.  You can assume all years are positive integers.\r\n\r\nGood luck!!kcul dooG","description_html":"\u003cp\u003eThose who know binary, and those who don't.\u003c/p\u003e\u003cp\u003eThe number 2015 is a palindrome in binary (11111011111 to be exact)  Given a year (in base 10 notation) calculate how many more years it will be until the next year that is a binary palindrome.  For example, if you are given the year 1881 (palindrome in base 10! :-), the function should output 30, as the next year that is a binary palindrome is 1911.  You can assume all years are positive integers.\u003c/p\u003e\u003cp\u003eGood luck!!kcul dooG\u003c/p\u003e","function_template":"function y = yearraey(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1881;y_correct = 30;\r\nassert(isequal(yearraey(x),y_correct))\r\n%%\r\nx = 2014;y_correct = 1;\r\nassert(isequal(yearraey(x),y_correct))\r\n%%\r\nx = 2015;y_correct = 0;\r\nassert(isequal(yearraey(x),y_correct))\r\n%%\r\nx = 606;y_correct = 27;\r\nassert(isequal(yearraey(x),y_correct))\r\n%%\r\nx = 6006;y_correct = 71;\r\nassert(isequal(yearraey(x),y_correct))\r\n%%\r\nx = 60006;y_correct = 369;\r\nassert(isequal(yearraey(x),y_correct))\r\n%%\r\nk=zeros(1,15);\r\nfor n=1:15\r\n    y=2^n+2;\r\n    k(n)=yearraey(y);\r\nend\r\ny_correct=[1 1 5 3 11 7 23 15 47 31 95 63 191 127 383];\r\nassert(isequal(k,y_correct))","published":true,"deleted":false,"likes_count":32,"comments_count":4,"created_by":1615,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":1335,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":45,"created_at":"2015-01-21T19:54:31.000Z","updated_at":"2026-04-26T03:58:40.000Z","published_at":"2015-01-21T19:54:31.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\u003eThose who know binary, and those who don't.\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\u003eThe number 2015 is a palindrome in binary (11111011111 to be exact) Given a year (in base 10 notation) calculate how many more years it will be until the next year that is a binary palindrome. For example, if you are given the year 1881 (palindrome in base 10! :-), the function should output 30, as the next year that is a binary palindrome is 1911. You can assume all years are positive integers.\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!!kcul dooG\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":44288,"title":"Throwing Dice - Will You Be Eaten By The Dragon?","description":"You and a dragon have agreed to let dice rolls determine whether it eats you or not.\r\nThe dragon will roll a single die, of x sides. You will roll several dice, of y sides each. The total number of sides on your dice add to x.\r\nThe dragon will let you go uneaten if your total throw matches or exceeds theirs.\r\nWhat are your chances of survival?","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 132px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 66px; transform-origin: 407px 66px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 263.5px 8px; transform-origin: 263.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYou and a dragon have agreed to let dice rolls determine whether it eats you or not.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 373.5px 8px; transform-origin: 373.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe dragon will roll a single die, of x sides. You will roll several dice, of y sides each. The total number of sides on your dice add to x.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 251.5px 8px; transform-origin: 251.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe dragon will let you go uneaten if your total throw matches or exceeds theirs.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 111.5px 8px; transform-origin: 111.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWhat are your chances of survival?\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function p = survival(x,y)\r\n  p = x/y;\r\nend","test_suite":"%%\r\nx = 6;\r\ny = 3;\r\np_correct = 2/3;\r\nassert(abs(survival(x,y)-p_correct)\u003c1e-6)\r\n%%\r\nx = 15;\r\ny = 5;\r\np_correct = 3/5;\r\nassert(abs(survival(x,y)-p_correct)\u003c1e-6)\r\n%%\r\nx = 30;\r\ny = 6;\r\np_correct = 35/60;\r\nassert(abs(survival(x,y)-p_correct)\u003c1e-6)\r\n%%\r\nx = 21;\r\ny = 7;\r\np_correct = 4/7;\r\nassert(abs(survival(x,y)-p_correct)\u003c1e-6)\r\n%%\r\nx = 54;\r\ny = 9;\r\np_correct = 5/9;\r\nassert(abs(survival(x,y)-p_correct)\u003c1e-6)\r\n%%\r\nx = randi(100);\r\ny = 1;\r\nassert(abs(survival(x,y)-y)\u003c1e-6)\r\n%%\r\nx = randi([10 100],1,10);\r\ny = 5;\r\nout=arrayfun(@(a) survival(a,y), x);\r\nassert(isequal(unique(round(out,1)),0.6))\r\n","published":true,"deleted":false,"likes_count":11,"comments_count":13,"created_by":13840,"edited_by":223089,"edited_at":"2023-03-21T14:10:58.000Z","deleted_by":null,"deleted_at":null,"solvers_count":177,"test_suite_updated_at":"2023-03-21T14:10:58.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2017-08-24T09:19:28.000Z","updated_at":"2026-04-26T01:05:02.000Z","published_at":"2017-08-24T10:04:09.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou and a dragon have agreed to let dice rolls determine whether it eats you 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe dragon will roll a single die, of x sides. You will roll several dice, of y sides each. The total number of sides on your dice add to x.\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\u003eThe dragon will let you go uneaten if your total throw matches or exceeds theirs.\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\u003eWhat are your chances of survival?\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":1197,"title":"Numerical Integration","description":"Input\r\n\r\n* |x0|, a real number greater than 0\r\n\r\nOutput\r\n\r\n* |I|, a numerical estimate of the integral\r\n\r\n      x0\r\n      /\r\n  I = |  cosh(x) / sqrt(cosh(x0) - cosh(x)) dx\r\n      /\r\n      0\r\n\r\nExample:\r\n\r\n   x0=1.0  --\u003e  I = 2.6405789412796\r\n\r\n\r\nRemarks:\r\n\r\n* Aim at a relative precision better than 1e-10\r\n* The problem arises studying the frictionless movement of a mass point on a hanging wire, which follows the curve cosh(x).","description_html":"\u003cp\u003eInput\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003ctt\u003ex0\u003c/tt\u003e, a real number greater than 0\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eOutput\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003ctt\u003eI\u003c/tt\u003e, a numerical estimate of the integral\u003c/li\u003e\u003c/ul\u003e\u003cpre\u003e      x0\r\n      /\r\n  I = |  cosh(x) / sqrt(cosh(x0) - cosh(x)) dx\r\n      /\r\n      0\u003c/pre\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cpre\u003e   x0=1.0  --\u003e  I = 2.6405789412796\u003c/pre\u003e\u003cp\u003eRemarks:\u003c/p\u003e\u003cul\u003e\u003cli\u003eAim at a relative precision better than 1e-10\u003c/li\u003e\u003cli\u003eThe problem arises studying the frictionless movement of a mass point on a hanging wire, which follows the curve cosh(x).\u003c/li\u003e\u003c/ul\u003e","function_template":"function I = coshint(x0)\r\n  I = x0;\r\nend","test_suite":"%%\r\nx0 = 1;\r\nI_correct = 2.6405789412796;\r\nfprintf('Relative difference to reference solution: %e\\n',norm(coshint(x0)-I_correct)/I_correct)\r\nassert(norm(coshint(x0)-I_correct)/I_correct \u003c= 1e-10)\r\n\r\n%%\r\nx0 = 2;\r\nI_correct = 3.9464053536380;\r\nfprintf('Relative difference to reference solution: %e\\n',norm(coshint(x0)-I_correct)/I_correct)\r\nassert(norm(coshint(x0)-I_correct)/I_correct \u003c= 1e-10)\r\n\r\n%%\r\nx0 = 13;\r\nI_correct = 9.4065231838369e+02;\r\nfprintf('Relative difference to reference solution: %e\\n',norm(coshint(x0)-I_correct)/I_correct)\r\nassert(norm(coshint(x0)-I_correct)/I_correct \u003c= 1e-10)\r\n\r\n%% randomized test for small values of x0 where \r\n % cosh(x) ~ 1 + x^2/2 + ...\r\n % and up to x0=1e-5 Integrating (analytically) the approximation is\r\n % accurate enough\r\nfor l=1:5\r\n   x0 = 1e-6 * (1+rand);\r\n   I_correct = pi*(4+x0^2)/4/sqrt(2);\r\n   fprintf('Relative difference to reference solution: %e\\n',norm(coshint(x0)-I_correct)/I_correct)\r\n   assert(norm(coshint(x0)-I_correct)/I_correct \u003c= 1e-10)\r\nend","published":true,"deleted":false,"likes_count":1,"comments_count":9,"created_by":203,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":108,"test_suite_updated_at":"2013-01-11T15:08:44.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2013-01-11T14:11:17.000Z","updated_at":"2026-04-26T01:12:47.000Z","published_at":"2013-01-11T15:08:44.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\u003eInput\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ex0\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, a real number greater than 0\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\u003eOutput\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eI\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, a numerical estimate of the integral\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[      x0\\n      /\\n  I = |  cosh(x) / sqrt(cosh(x0) - cosh(x)) dx\\n      /\\n      0]]\u003e\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\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[   x0=1.0  --\u003e  I = 2.6405789412796]]\u003e\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\u003eRemarks:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAim at a relative precision better than 1e-10\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe problem arises studying the frictionless movement of a mass point on a hanging wire, which follows the curve cosh(x).\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":44943,"title":"Calculate Amount of Cake Frosting","description":"Given two input variables r and h, which stand for the radius and height of a cake, calculate the surface area of the cake you need to put frosting on (all around the sides and the top).\r\nReturn the result in output variable SA.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 73px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 36.5px; transform-origin: 407px 36.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 42.5px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21.25px; text-align: left; transform-origin: 384px 21.25px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 79px 8px; transform-origin: 79px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven two input variables\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 4px 8.5px; transform-origin: 4px 8.5px; \"\u003er\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 14px 8px; transform-origin: 14px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 4px 8px; transform-origin: 4px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 4px 8.5px; transform-origin: 4px 8.5px; \"\u003eh\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 276.5px 8px; transform-origin: 276.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, which stand for the radius and height of a cake, calculate the surface area of the cake you need to put frosting on (all around the sides and the top).\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21.5px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.75px; text-align: left; transform-origin: 384px 10.75px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 109.5px 8px; transform-origin: 109.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eReturn the result in output variable\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 8px 8px; transform-origin: 8px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 8px 8.5px; transform-origin: 8px 8.5px; \"\u003eSA\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2px 8px; transform-origin: 2px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function SA = func_frosting(r,h)\r\n  SA = r + h;\r\nend","test_suite":"%%\r\nfiletext = fileread('func_frosting.m');\r\nassert(isempty(strfind(filetext, 'regexp')))\r\nassert(isempty(strfind(filetext, 'else')))\r\nassert(isempty(strfind(filetext, 'switch')))\r\n\r\n%%\r\nr = 3;\r\nh = 2;\r\ny_correct = 65.9734;\r\nassert(abs(func_frosting(r,h) - y_correct) \u003c 1e-4)\r\n\r\n%%\r\nr = 1;\r\nh = 1;\r\ny_correct = 3*pi;\r\nassert(abs(func_frosting(r,h) - y_correct) \u003c 1e-4)\r\n\r\n%%\r\nr = 0.5;\r\nh = 0.25;\r\ny_correct = 1.5708;\r\nassert(abs(func_frosting(r,h) - y_correct) \u003c 1e-4)\r\n","published":true,"deleted":false,"likes_count":223,"comments_count":24,"created_by":162851,"edited_by":223089,"edited_at":"2022-07-06T08:49:20.000Z","deleted_by":null,"deleted_at":null,"solvers_count":29513,"test_suite_updated_at":"2022-07-06T08:49:20.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2019-08-13T19:36:28.000Z","updated_at":"2026-04-26T23:43:13.000Z","published_at":"2019-08-29T18:15:57.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven two input variables\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003er\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eh\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, which stand for the radius and height of a cake, calculate the surface area of the cake you need to put frosting on (all around the sides and the top).\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\u003eReturn the result in output variable\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eSA\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":233,"title":"Reverse the vector","description":"Reverse the vector elements.\r\n\r\nExample:\r\n\r\n Input  x = [1,2,3,4,5,6,7,8,9] \r\n Output y = [9,8,7,6,5,4,3,2,1]","description_html":"\u003cp\u003eReverse the vector elements.\u003c/p\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cpre\u003e Input  x = [1,2,3,4,5,6,7,8,9] \r\n Output y = [9,8,7,6,5,4,3,2,1]\u003c/pre\u003e","function_template":"function y = reverseVector(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 1;\r\nassert(isequal(reverseVector(x),y_correct))\r\n\r\n%%\r\nx = -10:1;\r\ny_correct = 1:-1:-10;\r\nassert(isequal(reverseVector(x),y_correct))\r\n\r\n%%\r\nx = 'able was i ere i saw elba';\r\ny_correct = 'able was i ere i saw elba';\r\nassert(isequal(reverseVector(x),y_correct))\r\n","published":true,"deleted":false,"likes_count":55,"comments_count":9,"created_by":868,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":16593,"test_suite_updated_at":"2016-10-23T02:09:16.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-02-02T15:28:45.000Z","updated_at":"2026-04-26T23:36:13.000Z","published_at":"2012-02-02T20:11:32.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\u003eReverse the vector elements.\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\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ Input  x = [1,2,3,4,5,6,7,8,9] \\n Output y = [9,8,7,6,5,4,3,2,1]]]\u003e\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":44946,"title":"Solve a System of Linear Equations","description":"Example:\r\nIf a system of linear equations in x₁ and x₂ is:\r\n2x₁ + x₂ = 2\r\nx₁ - 4 x₂ = 3\r\nThen the coefficient matrix (A) is:\r\n2  1\r\n1 -4\r\nAnd the constant vector (b) is:\r\n2\r\n3\r\nTo solve this system, use mldivide ( \\ ):\r\nx = A\\b\r\nProblem:\r\nGiven a constant input angle θ (theta) in radians, create the coefficient matrix (A) and constant vector (b) to solve the given system of linear equations in x₁ and x₂.\r\ncos(θ) x₁ + sin(θ) x₂ = 1\r\n-sin(θ) x₁ + cos(θ) x₂ = 1","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 477.717px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 406.5px 238.858px; transform-origin: 406.5px 238.858px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 31.2667px 7.81667px; transform-origin: 31.2667px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eExample\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2.23333px 7.81667px; transform-origin: 2.23333px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 104.408px 7.81667px; transform-origin: 104.408px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eIf a system of linear equations in\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2.23333px 7.81667px; transform-origin: 2.23333px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 8.375px 7.81667px; transform-origin: 8.375px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003ex₁ \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 11.725px 7.81667px; transform-origin: 11.725px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eand\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2.23333px 7.81667px; transform-origin: 2.23333px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 6.14167px 7.81667px; transform-origin: 6.14167px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003ex₂\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 10.05px 7.81667px; transform-origin: 10.05px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 3.90833px 7.81667px; transform-origin: 3.90833px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e2\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 6.14167px 7.81667px; transform-origin: 6.14167px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003ex₁\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 6.7px 7.81667px; transform-origin: 6.7px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e +\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2.23333px 7.81667px; transform-origin: 2.23333px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 6.14167px 7.81667px; transform-origin: 6.14167px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003ex₂\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 12.8417px 7.81667px; transform-origin: 12.8417px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e = 2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 6.14167px 7.81667px; transform-origin: 6.14167px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003ex₁\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 12.8417px 7.81667px; transform-origin: 12.8417px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e - 4 \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 6.14167px 7.81667px; transform-origin: 6.14167px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003ex₂\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 12.8417px 7.81667px; transform-origin: 12.8417px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e = 3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 106.642px 7.81667px; transform-origin: 106.642px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThen the coefficient matrix (A) is:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 40.8667px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 403.5px 20.4333px; transform-origin: 403.5px 20.4333px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1.11667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1.11667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1.11667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1.11667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 403.5px 10.2167px; text-wrap-mode: nowrap; transform-origin: 403.5px 10.2167px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 15.6333px 8.375px; tab-size: 4; transform-origin: 15.6333px 8.375px; unicode-bidi: normal; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e2  1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1.11667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1.11667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1.11667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1.11667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 403.5px 10.2167px; text-wrap-mode: nowrap; transform-origin: 403.5px 10.2167px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 15.6333px 8.375px; tab-size: 4; transform-origin: 15.6333px 8.375px; unicode-bidi: normal; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e1 -4\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 97.15px 7.81667px; transform-origin: 97.15px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eAnd the constant vector (b) is:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 40.8667px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 403.5px 20.4333px; transform-origin: 403.5px 20.4333px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1.11667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1.11667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1.11667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1.11667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 403.5px 10.2167px; text-wrap-mode: nowrap; transform-origin: 403.5px 10.2167px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 3.90833px 8.375px; tab-size: 4; transform-origin: 3.90833px 8.375px; unicode-bidi: normal; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e2\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4333px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1.11667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1.11667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1.11667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1.11667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 403.5px 10.2167px; text-wrap-mode: nowrap; transform-origin: 403.5px 10.2167px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 3.90833px 8.375px; tab-size: 4; transform-origin: 3.90833px 8.375px; unicode-bidi: normal; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e3\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21.55px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 383.5px 10.775px; text-align: left; transform-origin: 383.5px 10.775px; white-space-collapse: preserve; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 82.075px 7.81667px; transform-origin: 82.075px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eTo solve this system, use\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2.23333px 7.81667px; transform-origin: 2.23333px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 31.2667px 7.81667px; transform-origin: 31.2667px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 31.2667px 8.375px; transform-origin: 31.2667px 8.375px; \"\u003emldivide\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 4.46667px 7.81667px; transform-origin: 4.46667px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e (\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2.23333px 7.81667px; transform-origin: 2.23333px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 3.90833px 7.81667px; transform-origin: 3.90833px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; perspective-origin: 3.90833px 8.375px; transform-origin: 3.90833px 8.375px; \"\u003e\\\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 6.7px 7.81667px; transform-origin: 6.7px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e ):\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 20.4333px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 403.5px 10.2167px; transform-origin: 403.5px 10.2167px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1.11667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1.11667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1.11667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1.11667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; text-wrap-mode: nowrap; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 27.3583px 8.375px; tab-size: 4; transform-origin: 27.3583px 8.375px; unicode-bidi: normal; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003ex = A\\b\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 10px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 10px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 10px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 30.15px 7.81667px; transform-origin: 30.15px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eProblem\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 2.23333px 7.81667px; transform-origin: 2.23333px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.5px 21px; text-align: left; transform-origin: 383.5px 21px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 376.875px 7.81667px; transform-origin: 376.875px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven a constant input angle θ (theta) in radians, create the coefficient matrix (A) and constant vector (b) to solve the given system of linear equations in\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 22.8917px 7.81667px; transform-origin: 22.8917px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e x₁ and\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 11.1667px 7.81667px; transform-origin: 11.1667px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e x₂.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 77.6083px 7.81667px; transform-origin: 77.6083px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003ecos(θ) x₁ + sin(θ) x₂ = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 79.8417px 7.81667px; transform-origin: 79.8417px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e-sin(θ) x₁ + cos(θ) x₂ = 1\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function x = solve_lin(theta)\r\n      \r\n    \r\n    x = A\\b; \r\nend","test_suite":"%%\r\nfiletext = fileread('solve_lin.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'regexp')\r\nassert(~illegal)\r\n\r\n%%\r\ntheta = 2*pi;\r\nx_correct = [1; 1];\r\nassert(sum(abs((solve_lin(theta)-x_correct)))\u003c 1e-5)\r\n\r\n%%\r\ntheta = pi;\r\nx_correct = [-1; -1];\r\nassert(sum(abs((solve_lin(theta)-x_correct)))\u003c 1e-5)\r\n\r\n%%\r\ntheta = -0.5;\r\nx_correct = [1.357;0.3982];\r\nassert(sum(abs((solve_lin(theta)-x_correct)))\u003c 1e-4)","published":true,"deleted":false,"likes_count":91,"comments_count":10,"created_by":162851,"edited_by":223089,"edited_at":"2024-07-04T13:15:36.000Z","deleted_by":null,"deleted_at":null,"solvers_count":14510,"test_suite_updated_at":"2024-07-04T13:15:36.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2019-08-19T14:40:46.000Z","updated_at":"2026-04-26T23:30:18.000Z","published_at":"2019-08-29T18:08:34.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e:\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\u003eIf a system of linear equations in\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ex₁ \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eand\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ex₂\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e is:\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\u003e2\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ex₁\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e +\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ex₂\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = 2\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:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ex₁\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e - 4 \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ex₂\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e = 3\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\u003eThen the coefficient matrix (A) is:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[2  1\\n1 -4]]\u003e\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\u003eAnd the constant vector (b) is:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[2\\n3]]\u003e\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\u003eTo solve this system, use\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003emldivide\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e\\\\\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e ):\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[x = A\\\\b]]\u003e\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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eProblem\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e:\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\u003eGiven a constant input angle θ (theta) in radians, create the coefficient matrix (A) and constant vector (b) to solve the given system of linear equations in\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e x₁ and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e x₂.\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\u003ecos(θ) x₁ + sin(θ) x₂ = 1\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\u003e-sin(θ) x₁ + cos(θ) x₂ = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":189,"title":"Sum all integers from 1 to 2^n","description":"Given the number x, y must be the summation of all integers from 1 to 2^x. For instance if x=2 then y must be 1+2+3+4=10.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 42px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 21px; transform-origin: 407px 21px; vertical-align: baseline; \"\u003e\u003cdiv style=\"font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 342.5px 8px; transform-origin: 342.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven the number x, y must be the summation of all integers from 1 to 2^x. For instance if x=2 then y must be 1+2+3+4=10.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = sum_int(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nfiletext = fileread('sum_int.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'regexp');\r\nassert(~illegal)\r\n%%\r\nx = 1;\r\ny_correct = 3;\r\nassert(isequal(sum_int(x),y_correct))\r\n\r\n%%\r\nx = 3;\r\ny_correct = 36;\r\nassert(isequal(sum_int(x),y_correct))\r\n\r\n%%\r\nx = 7;\r\ny_correct = 8256;\r\nassert(isequal(sum_int(x),y_correct))\r\n\r\n%%\r\nx = 10;\r\ny_correct = 524800;\r\nassert(isequal(sum_int(x),y_correct))\r\n\r\n%%\r\nx = 11;\r\ny_correct = 2098176;\r\nassert(isequal(sum_int(x),y_correct))\r\n\r\n%%\r\nx = 14;\r\ny_correct = 134225920;\r\nassert(isequal(sum_int(x),y_correct))\r\n\r\n%%\r\nx = 17;\r\ny_correct = 8590000128;\r\nassert(isequal(sum_int(x),y_correct))","published":true,"deleted":false,"likes_count":94,"comments_count":24,"created_by":431,"edited_by":223089,"edited_at":"2022-11-24T08:12:49.000Z","deleted_by":null,"deleted_at":null,"solvers_count":17621,"test_suite_updated_at":"2022-11-24T08:12:49.000Z","rescore_all_solutions":false,"group_id":27,"created_at":"2012-01-31T00:43:21.000Z","updated_at":"2026-04-27T02:04:11.000Z","published_at":"2012-01-31T00:45:23.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven the number x, y must be the summation of all integers from 1 to 2^x. For instance if x=2 then y must be 1+2+3+4=10.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":3056,"title":"Chess probability","description":"The difference in the ratings between two players serves as a predictor of the outcome of a match (the \u003chttp://en.wikipedia.org/wiki/Elo_rating_system Elo rating system\u003e)\r\n\r\nIf Player A has a rating of Ra and Player B a rating of Rb, the formula for the expected score of Player A is :\r\n\r\n\u003c\u003chttp://upload.wikimedia.org/math/b/0/3/b0366725c224ee55eab6e2371dc6a0ef.png\u003e\u003e\r\n \r\n* \r\n \r\n\r\nTwo players with equal ratings who play against each other are expected to score an equal number of wins. A player whose rating is 100 points greater than their opponent's is expected to score 64%; if the difference is 200 points, then the expected score for the stronger player is 76%.\r\n\r\nI give you two ELOs, compute the expected score (round to 3 digits), or probability  that the first player wins.\r\n\r\n\r\n","description_html":"\u003cp\u003eThe difference in the ratings between two players serves as a predictor of the outcome of a match (the \u003ca href = \"http://en.wikipedia.org/wiki/Elo_rating_system\"\u003eElo rating system\u003c/a\u003e)\u003c/p\u003e\u003cp\u003eIf Player A has a rating of Ra and Player B a rating of Rb, the formula for the expected score of Player A is :\u003c/p\u003e\u003cimg src = \"http://upload.wikimedia.org/math/b/0/3/b0366725c224ee55eab6e2371dc6a0ef.png\"\u003e\u003cul\u003e\u003cli\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eTwo players with equal ratings who play against each other are expected to score an equal number of wins. A player whose rating is 100 points greater than their opponent's is expected to score 64%; if the difference is 200 points, then the expected score for the stronger player is 76%.\u003c/p\u003e\u003cp\u003eI give you two ELOs, compute the expected score (round to 3 digits), or probability  that the first player wins.\u003c/p\u003e","function_template":"function y = expected_score(elo1,elo2)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1800;\r\ny = 1800;\r\nassert(isequal(expected_score(x,y),0.5))\r\n%%\r\nx = 1900;\r\ny = 1800;\r\nassert(isequal(expected_score(x,y),0.64))\r\n%%\r\nx = 1900;\r\ny = 2000;\r\nassert(isequal(expected_score(x,y),0.36))\r\n%%\r\nx = 1900;\r\ny = 2100;\r\nassert(isequal(expected_score(x,y),0.24))\r\n%% My probability against Maxime Vachier-Lagrave (best french player)\r\nx = 1800;\r\ny = 2775;\r\nassert(isequal(expected_score(x,y),0.004))\r\n%% My probability against Magnus Carlsen (World Chess Champion)\r\nx = 1800;\r\ny = 2865;\r\nassert(isequal(expected_score(x,y),0.002))\r\n%% Magnus against Maxime\r\nx = 2865;\r\ny = 2775;\r\nassert(isequal(expected_score(x,y),0.627))\r\n%% Magnus Carlsen against Garry Kasparov (1999)\r\nx = 2865;\r\ny = 2851;\r\nassert(isequal(expected_score(x,y),0.52))\r\n%% Magnus Carlsen against Fabiano Caruana\r\nx = 2865;\r\ny = 2844;\r\nassert(isequal(expected_score(x,y),0.53))\r\n%% Bobby Fisher (1972) against Magnus Carlsen\r\nx = 2785;\r\ny = 2865;\r\nassert(isequal(expected_score(x,y),0.387))\r\n%% Bobby Fisher (1972) against me\r\nx = 2785;\r\ny = 1800;\r\nassert(isequal(expected_score(x,y),0.997))\r\n","published":true,"deleted":false,"likes_count":6,"comments_count":0,"created_by":5390,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":690,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2015-02-28T22:51:09.000Z","updated_at":"2026-04-26T01:03:13.000Z","published_at":"2015-02-28T22:52:00.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\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/media/image1.png\"}],\"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\u003eThe difference in the ratings between two players serves as a predictor of the outcome of a match (the\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://en.wikipedia.org/wiki/Elo_rating_system\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eElo rating system\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\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\u003eIf Player A has a rating of Ra and Player B a rating of Rb, the formula for the expected score of Player A is :\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:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"-1\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\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\u003eTwo players with equal ratings who play against each other are expected to score an equal number of wins. A player whose rating is 100 points greater than their opponent's is expected to score 64%; if the difference is 200 points, then the expected score for the stronger player is 76%.\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\u003eI give you two ELOs, compute the expected score (round to 3 digits), or probability that the first player wins.\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\"},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAM4AAAArBAMAAADCuKrGAAAAMFBMVEX///90dHQEBAQwMDCenp5QUFAWFhbm5ubMzMyKioq2trZAQEAMDAwiIiJiYmIAAADHPVvyAAAAAXRSTlMAQObYZgAAAuJJREFUeNrtV0toE2EQ/pJs91+TZpuKKZ7aHDxZhKBo8WCNQj14qNHiAxFZRNIHVAPFi0UbFC8qEqh40cOePBUfUAoS0BQPvhByqXqoEK1CaauNXswWu3H+JF03TbV5dHPqwGYzM//u98/881qgOhoscZ29OhjnkRIXOqqCYdvmXqMmtKc2fiuZ1nHWcdZxikmrDU7Xq53hkhbagG8Nz7Cl0WO565xkuxS3/nwEHUinrMfJ9NLdbz2OPYUkVOtD+2GA+S0HEYDAzQ82nyEYe8R/+yxAfoc6671G+dM6If+U0oC4sEyXWSuQHzw5JQ0MdfRnPmxpvGk6Fam9lK5q9kzGQpwSqz4Y+beK71cq2rSDxwC9V6iPlrE/+T/GH6fLVWRPhpx3ia57v4Jl4NyIYv5pV8HODH4kx9ep0uETuOYly9m43dV/N7brShRS50xw9amWCwabaWEboO4f7THrDF4PABv4aKe3PMDn2SSJFFMi2ZSiCvt2JcFLDMNJWdYEHqV/yeB52vvBmtQRiAfjOFvQfybhWF6zWau6gkDuwXlVoD214MK0WWvwGnnHB5ZCH9gLFf1mnKvTGJpY3ivfLIWd2yRI+yAEFsnpKe+sD/fbpwL5RVkeUraeLPpxPRtdH42HS5me3SZBgwcOxRWAlEI7aSJCwhaLxR7nebjI0m76PGBRUW2C+EnBucr6djgCSaHSoSWxSDUjkolnOjo6DuV57KaYe4IDWDg9uekOxF4FxyrD4TVEEVTYPRiWcLHxfT6TcjzqGUUeWZTZuHVOCWOM4XfFc0gaepCdOglvEpvnt+djJMfLvgEIUcYFU7f1fZ344k1Wdj5DUbjjPH+yNAqxICgHvo/DFbGV2QCyOK5Q6Ewo1G+KA7diZHD3UvbnKYijuFX2V+JK9ohBiEk4cyVG1r+2FZiTkCZVDy6vAY6cQINaQV8oa6olgZaGrKwtTtFUywXa8+YdVnVDN2pDjqrf8Af8bczR/4tLjAAAAABJRU5ErkJggg==\"}]}"},{"id":174,"title":"Roll the Dice!","description":"Description\r\nReturn two random integers between 1 and 6, inclusive, to simulate rolling 2 dice.\r\nExample\r\n   [x1,x2] = rollDice();\r\n   x1 = 5;\r\n   x2 = 2;","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 152.312px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407.5px 76.1562px; transform-origin: 407.5px 76.1562px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384.5px 10.5px; text-align: left; transform-origin: 384.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eDescription\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384.5px 10.5px; text-align: left; transform-origin: 384.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eReturn two random integers between 1 and 6, inclusive, to simulate rolling 2 dice.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384.5px 10.5px; text-align: left; transform-origin: 384.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-weight: 700; \"\u003eExample\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 61.3125px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; perspective-origin: 404.5px 30.6562px; transform-origin: 404.5px 30.6562px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; margin-right: 3px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4375px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.666667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.666667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.666667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.666667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404.5px 10.2188px; text-wrap: nowrap; transform-origin: 404.5px 10.2188px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; unicode-bidi: normal; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e   [x1,x2] = rollDice();\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4375px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.666667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.666667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.666667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.666667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404.5px 10.2188px; text-wrap: nowrap; transform-origin: 404.5px 10.2188px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; unicode-bidi: normal; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e   x1 = 5;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 20.4375px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 0.666667px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 0.666667px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 0.666667px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 0.666667px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-block-size: 18px; min-height: 18px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 404.5px 10.2188px; text-wrap: nowrap; transform-origin: 404.5px 10.2188px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(0, 0, 0); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(0, 0, 0); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(0, 0, 0); border-left-style: none; border-left-width: 0px; border-right-color: rgb(0, 0, 0); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; min-block-size: 0px; min-height: 0px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 0px; tab-size: 4; transform-origin: 0px 0px; unicode-bidi: normal; white-space-collapse: preserve; margin-right: 45px; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e   x2 = 2;\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [x1,x2] = rollDice()\r\n  x1 = 1;\r\n  x2 = 1;\r\nend","test_suite":"%%\r\nfiletext = fileread('rollDice.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'regexp');\r\nassert(~illegal)\r\n\r\n%%\r\nx1 = zeros(1,6000);\r\nx2 = zeros(1,6000);\r\nfor ii = 1:6000\r\n    [x1(ii),x2(ii)] = rollDice();\r\nend\r\nnumCt = sum( bsxfun( @eq, x1, (1:6)' ), 2 ) + sum( bsxfun( @eq, x2, (1:6)' ), 2 );\r\nassert(all(round(numCt/200) == 10) \u0026\u0026 sum(numCt) == 12000)\r\n","published":true,"deleted":false,"likes_count":62,"comments_count":21,"created_by":134,"edited_by":427930,"edited_at":"2024-08-01T11:35:52.000Z","deleted_by":null,"deleted_at":null,"solvers_count":10739,"test_suite_updated_at":"2012-01-30T07:51:11.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-01-30T07:38:01.000Z","updated_at":"2026-04-27T01:13:48.000Z","published_at":"2024-08-01T11:35:52.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eDescription\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\u003eReturn two random integers between 1 and 6, inclusive, to simulate rolling 2 dice.\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:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eExample\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[   [x1,x2] = rollDice();\\n   x1 = 5;\\n   x2 = 2;]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":1087,"title":"Magic is simple (for beginners)","description":"Determine for a magic square of order n, the magic sum m. For example m=15 for a magic square of order 3.","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 21px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 406.5px 10.5px; transform-origin: 406.5px 10.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 383.5px 10.5px; text-align: left; transform-origin: 383.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 350.075px 7.81667px; transform-origin: 350.075px 7.81667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eDetermine for a magic square of order n, the magic sum m. For example m=15 for a magic square of order 3.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function m = magic_sum(n)\r\n  m=n;\r\nend","test_suite":"%%\r\nfiletext = fileread('magic_sum.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'regexp');\r\nassert(~illegal)\r\n\r\n%%\r\nn = 3;\r\ny_correct = 15;\r\nassert(isequal(magic_sum(n),y_correct))\r\n%%\r\nn = 5;\r\ny_correct = 65;\r\nassert(isequal(magic_sum(n),y_correct))\r\n%%\r\nn = 7;\r\ny_correct = 175;\r\nassert(isequal(magic_sum(n),y_correct))\r\n%%\r\nn = 8;\r\ny_correct = 260;\r\nassert(isequal(magic_sum(n),y_correct))\r\n%%\r\nn = 20;\r\ny_correct = 4010;\r\nassert(isequal(magic_sum(n),y_correct))\r\n%%\r\nn = 100;\r\ny_correct = 500050;\r\nassert(isequal(magic_sum(n),y_correct))\r\n%%\r\nn = 200;\r\ny_correct = 4000100;\r\nassert(isequal(magic_sum(n),y_correct))\r\n%%\r\nn = 1000;\r\ny_correct = 500000500;\r\nassert(isequal(magic_sum(n),y_correct))\r\n\r\n","published":true,"deleted":false,"likes_count":56,"comments_count":13,"created_by":5390,"edited_by":223089,"edited_at":"2024-06-30T07:10:20.000Z","deleted_by":null,"deleted_at":null,"solvers_count":11335,"test_suite_updated_at":"2024-06-30T07:10:20.000Z","rescore_all_solutions":false,"group_id":18,"created_at":"2012-12-04T00:24:57.000Z","updated_at":"2026-04-27T02:02:50.000Z","published_at":"2012-12-04T00:26:29.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eDetermine for a magic square of order n, the magic sum m. For example m=15 for a magic square of order 3.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":12,"title":"Fibonacci sequence","description":"Calculate the nth Fibonacci number.\r\nGiven n, return f where f = fib(n) and f(1) = 1, f(2) = 1, f(3) = 2, ...\r\nExamples:\r\n Input  n = 5\r\n Output f is 5\r\n\r\n Input  n = 7\r\n Output f is 13","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(33, 33, 33); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none; white-space: normal; \"\u003e\u003cdiv style=\"block-size: 181px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 468.5px 90.5px; transform-origin: 468.5px 90.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 111.642px 8px; transform-origin: 111.642px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eCalculate the nth Fibonacci number.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 199.117px 8px; transform-origin: 199.117px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eGiven n, return f where f = fib(n) and f(1) = 1, f(2) = 1, f(3) = 2, ...\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 444.5px 10.5px; text-align: left; transform-origin: 444.5px 10.5px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 32.675px 8px; transform-origin: 32.675px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eExamples:\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgb(247, 247, 247); block-size: 90px; border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-end-end-radius: 4px; border-end-start-radius: 4px; border-start-end-radius: 4px; border-start-start-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; margin-block-end: 10px; margin-block-start: 10px; margin-bottom: 10px; margin-inline-end: 3px; margin-inline-start: 3px; margin-left: 3px; margin-right: 3px; margin-top: 10px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 464.5px 45px; transform-origin: 464.5px 45px; margin-left: 3px; margin-top: 10px; margin-bottom: 10px; \"\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 18px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; line-height: 18px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 464.5px 9px; text-wrap-mode: nowrap; transform-origin: 464.5px 9px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(33, 33, 33); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(33, 33, 33); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(33, 33, 33); border-left-style: none; border-left-width: 0px; border-right-color: rgb(33, 33, 33); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 50.05px 8.5px; tab-size: 4; transform-origin: 50.05px 8.5px; unicode-bidi: normal; white-space-collapse: preserve; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 30.8px 8.5px; transform-origin: 30.8px 8.5px; \"\u003e Input  \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(133, 22, 209); border-block-start-color: rgb(133, 22, 209); border-bottom-color: rgb(133, 22, 209); border-inline-end-color: rgb(133, 22, 209); border-inline-start-color: rgb(133, 22, 209); border-left-color: rgb(133, 22, 209); border-right-color: rgb(133, 22, 209); border-top-color: rgb(133, 22, 209); caret-color: rgb(133, 22, 209); color: rgb(133, 22, 209); column-rule-color: rgb(133, 22, 209); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(133, 22, 209); perspective-origin: 19.25px 8.5px; text-decoration-color: rgb(133, 22, 209); text-emphasis-color: rgb(133, 22, 209); transform-origin: 19.25px 8.5px; \"\u003en = 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 18px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; line-height: 18px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 464.5px 9px; text-wrap-mode: nowrap; transform-origin: 464.5px 9px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(33, 33, 33); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(33, 33, 33); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(33, 33, 33); border-left-style: none; border-left-width: 0px; border-right-color: rgb(33, 33, 33); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 53.9px 8.5px; tab-size: 4; transform-origin: 53.9px 8.5px; unicode-bidi: normal; white-space-collapse: preserve; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 30.8px 8.5px; transform-origin: 30.8px 8.5px; \"\u003e Output \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(133, 22, 209); border-block-start-color: rgb(133, 22, 209); border-bottom-color: rgb(133, 22, 209); border-inline-end-color: rgb(133, 22, 209); border-inline-start-color: rgb(133, 22, 209); border-left-color: rgb(133, 22, 209); border-right-color: rgb(133, 22, 209); border-top-color: rgb(133, 22, 209); caret-color: rgb(133, 22, 209); color: rgb(133, 22, 209); column-rule-color: rgb(133, 22, 209); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(133, 22, 209); perspective-origin: 23.1px 8.5px; text-decoration-color: rgb(133, 22, 209); text-emphasis-color: rgb(133, 22, 209); transform-origin: 23.1px 8.5px; \"\u003ef is 5\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 18px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; line-height: 18px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 464.5px 9px; text-wrap-mode: nowrap; transform-origin: 464.5px 9px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(33, 33, 33); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(33, 33, 33); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(33, 33, 33); border-left-style: none; border-left-width: 0px; border-right-color: rgb(33, 33, 33); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 0px 8.5px; tab-size: 4; transform-origin: 0px 8.5px; unicode-bidi: normal; white-space-collapse: preserve; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; \"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 18px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; line-height: 18px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 464.5px 9px; text-wrap-mode: nowrap; transform-origin: 464.5px 9px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(33, 33, 33); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(33, 33, 33); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(33, 33, 33); border-left-style: none; border-left-width: 0px; border-right-color: rgb(33, 33, 33); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 50.05px 8.5px; tab-size: 4; transform-origin: 50.05px 8.5px; unicode-bidi: normal; white-space-collapse: preserve; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 30.8px 8.5px; transform-origin: 30.8px 8.5px; \"\u003e Input  \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(133, 22, 209); border-block-start-color: rgb(133, 22, 209); border-bottom-color: rgb(133, 22, 209); border-inline-end-color: rgb(133, 22, 209); border-inline-start-color: rgb(133, 22, 209); border-left-color: rgb(133, 22, 209); border-right-color: rgb(133, 22, 209); border-top-color: rgb(133, 22, 209); caret-color: rgb(133, 22, 209); color: rgb(133, 22, 209); column-rule-color: rgb(133, 22, 209); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(133, 22, 209); perspective-origin: 19.25px 8.5px; text-decoration-color: rgb(133, 22, 209); text-emphasis-color: rgb(133, 22, 209); transform-origin: 19.25px 8.5px; \"\u003en = 7\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"background-color: rgba(0, 0, 0, 0); block-size: 18px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-end-end-radius: 0px; border-end-start-radius: 0px; border-inline-end-color: rgb(233, 233, 233); border-inline-end-style: solid; border-inline-end-width: 1px; border-inline-start-color: rgb(233, 233, 233); border-inline-start-style: solid; border-inline-start-width: 1px; border-left-color: rgb(233, 233, 233); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(233, 233, 233); border-right-style: solid; border-right-width: 1px; border-start-end-radius: 0px; border-start-start-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; line-height: 18px; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-inline-start: 4px; padding-left: 4px; perspective-origin: 464.5px 9px; text-wrap-mode: nowrap; transform-origin: 464.5px 9px; \"\u003e\u003cspan style=\"block-size: auto; border-inline-end-color: rgb(33, 33, 33); border-inline-end-style: none; border-inline-end-width: 0px; border-inline-start-color: rgb(33, 33, 33); border-inline-start-style: none; border-inline-start-width: 0px; border-left-color: rgb(33, 33, 33); border-left-style: none; border-left-width: 0px; border-right-color: rgb(33, 33, 33); border-right-style: none; border-right-width: 0px; display: inline; margin-inline-end: 45px; margin-right: 45px; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 57.75px 8.5px; tab-size: 4; transform-origin: 57.75px 8.5px; unicode-bidi: normal; white-space-collapse: preserve; \"\u003e\u003cspan style=\"margin-inline-end: 0px; margin-right: 0px; perspective-origin: 30.8px 8.5px; transform-origin: 30.8px 8.5px; \"\u003e Output \u003c/span\u003e\u003cspan style=\"border-block-end-color: rgb(133, 22, 209); border-block-start-color: rgb(133, 22, 209); border-bottom-color: rgb(133, 22, 209); border-inline-end-color: rgb(133, 22, 209); border-inline-start-color: rgb(133, 22, 209); border-left-color: rgb(133, 22, 209); border-right-color: rgb(133, 22, 209); border-top-color: rgb(133, 22, 209); caret-color: rgb(133, 22, 209); color: rgb(133, 22, 209); column-rule-color: rgb(133, 22, 209); margin-inline-end: 0px; margin-right: 0px; outline-color: rgb(133, 22, 209); perspective-origin: 26.95px 8.5px; text-decoration-color: rgb(133, 22, 209); text-emphasis-color: rgb(133, 22, 209); transform-origin: 26.95px 8.5px; \"\u003ef is 13\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function f = fib(n)\r\n  f = n;\r\nend","test_suite":"%%\r\nfiletext = fileread('fib.m');\r\nillegal = contains(filetext, 'regexp') || contains(filetext, 'assert') || ...\r\n          contains(filetext, 'switch') || contains(filetext, 'elseif') || ...\r\n          contains(filetext, '610')     || contains(filetext, '1597');\r\nassert(~illegal)\r\n\r\n%%\r\nn = 1;\r\nf = 1;\r\nassert(isequal(fib(n),f))\r\n\r\n%%\r\nn = 6;\r\nf = 8;\r\nassert(isequal(fib(n),f))\r\n\r\n%%\r\nn = 7;\r\nf = 13;\r\nassert(isequal(fib(n),f))\r\n\r\n%%\r\nn = 10;\r\nf = 55;\r\nassert(isequal(fib(n),f))\r\n\r\n%%\r\nn = 12;\r\nf = 144;\r\nassert(isequal(fib(n),f))\r\n\r\n%%\r\nn = 15;\r\nf = 610;\r\nassert(isequal(fib(n),f))\r\n\r\n%%\r\nn = 17;\r\nf = 1597;\r\nassert(isequal(fib(n),f))\r\n\r\n%%\r\nn = 20;\r\nf = 6765;\r\nassert(isequal(fib(n),f))","published":true,"deleted":false,"likes_count":108,"comments_count":25,"created_by":1,"edited_by":223089,"edited_at":"2026-02-05T13:22:21.000Z","deleted_by":null,"deleted_at":null,"solvers_count":14179,"test_suite_updated_at":"2026-02-05T13:22:22.000Z","rescore_all_solutions":false,"group_id":2,"created_at":"2012-01-18T01:00:18.000Z","updated_at":"2026-04-27T01:25:10.000Z","published_at":"2012-01-18T01:00:18.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eCalculate the nth Fibonacci number.\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\u003eGiven n, return f where f = fib(n) and f(1) = 1, f(2) = 1, f(3) = 2, ...\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\u003eExamples:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ Input  n = 5\\n Output f is 5\\n\\n Input  n = 7\\n Output f is 13]]\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":231,"title":"Differential equations I","description":"Given a function handle |f| an initial condition |y0| and a final time |tf|, solve numerically the differential equation\r\n\r\n  dy/dt = f(y)\r\n\r\nfor the function |y(t)| between |t=0| and |t=tf|. Give as a result |res=y(tf)|.\r\n\r\nExample:\r\n\r\n   f = @(x) -x;\r\n   tf= 1;\r\n   y0= 1;\r\n\r\n =\u003e y(tf) = 1/e = 0.367879441171442\r\n\r\nRemarks: aim at a relative precision of around 1e-6. The function is analytic in the interval [0,1].","description_html":"\u003cp\u003eGiven a function handle \u003ctt\u003ef\u003c/tt\u003e an initial condition \u003ctt\u003ey0\u003c/tt\u003e and a final time \u003ctt\u003etf\u003c/tt\u003e, solve numerically the differential equation\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003edy/dt = f(y)\r\n\u003c/pre\u003e\u003cp\u003efor the function \u003ctt\u003ey(t)\u003c/tt\u003e between \u003ctt\u003et=0\u003c/tt\u003e and \u003ctt\u003et=tf\u003c/tt\u003e. Give as a result \u003ctt\u003eres=y(tf)\u003c/tt\u003e.\u003c/p\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cpre\u003e   f = @(x) -x;\r\n   tf= 1;\r\n   y0= 1;\u003c/pre\u003e\u003cpre\u003e =\u003e y(tf) = 1/e = 0.367879441171442\u003c/pre\u003e\u003cp\u003eRemarks: aim at a relative precision of around 1e-6. The function is analytic in the interval [0,1].\u003c/p\u003e","function_template":"function res = deqnsolve(f,y0,tf)\r\n  res = 0;\r\nend","test_suite":"%% \r\nf = @(x) -x;\r\ntf =1;\r\ny0 =1;\r\nassert(abs(deqnsolve(f,y0,tf)-exp(-1)) \u003c 1e-5)\r\n\r\n%% \r\nf = @sin;\r\ntf =1;\r\ny0 =1/2;\r\nassert(abs(deqnsolve(f,y0,tf)-2*acot(exp(-1)*cot(1/4))) \u003c 1e-5)\r\n\r\n%% \r\nf = @(x) 1/(x+1);\r\ntf =6;\r\ny0 =1;\r\nassert(abs(deqnsolve(f,y0,tf)-3) \u003c 1e-5)\r\n\r\n%% a randomized one\r\na = rand*0.9;\r\nf = @(x) x-a*x^2;\r\ntf = rand+1.5;\r\ny0=1;\r\nassert(abs(deqnsolve(f,y0,tf)-exp(tf)/(1-a+a*exp(tf))) \u003c 1e-5)","published":true,"deleted":false,"likes_count":3,"comments_count":5,"created_by":203,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":196,"test_suite_updated_at":"2012-02-02T15:10:17.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-02-02T14:57:14.000Z","updated_at":"2026-04-26T01:10:14.000Z","published_at":"2012-02-02T15:20:18.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\u003eGiven a function handle\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ef\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e an initial condition\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ey0\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and a final time\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003etf\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, solve numerically the differential equation\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[dy/dt = f(y)]]\u003e\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\u003efor the function\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ey(t)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e between\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003et=0\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003et=tf\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. Give as a result\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eres=y(tf)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\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\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[   f = @(x) -x;\\n   tf= 1;\\n   y0= 1;\\n\\n =\u003e y(tf) = 1/e = 0.367879441171442]]\u003e\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\u003eRemarks: aim at a relative precision of around 1e-6. The function is analytic in the interval [0,1].\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":597,"title":"The Birthday Phenomenon","description":"First off, leap years are not being considered for this. In fact the year that people are born shouldn't be taken into consideration, for simplicity.\r\n\r\nThe basic question is given an input, a single integer representing the number of people in the room (X \u003e= 1).  Return the probability that 2 or more people share the same birthday.\r\n\r\nThe return from the function should be a value between 0 and 1, inclusive.  It should also be rounded out to the 10 thousandth decimal point (4 after the decimal point).  There should be no trailing zeros included.\r\n","description_html":"\u003cp\u003eFirst off, leap years are not being considered for this. In fact the year that people are born shouldn't be taken into consideration, for simplicity.\u003c/p\u003e\u003cp\u003eThe basic question is given an input, a single integer representing the number of people in the room (X \u0026gt;= 1).  Return the probability that 2 or more people share the same birthday.\u003c/p\u003e\u003cp\u003eThe return from the function should be a value between 0 and 1, inclusive.  It should also be rounded out to the 10 thousandth decimal point (4 after the decimal point).  There should be no trailing zeros included.\u003c/p\u003e","function_template":"function y = bday_phenom(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1;\r\ny_correct = 0;\r\nassert(isequal(bday_phenom(x),y_correct))\r\n\r\n%%\r\nx = 2;\r\ny_correct = 0.0027;\r\nassert(isequal(bday_phenom(x),y_correct))\r\n\r\n%%\r\nx = 5;\r\ny_correct = 0.0271;\r\nassert(isequal(bday_phenom(x),y_correct))\r\n\r\n%%\r\nx = 10;\r\ny_correct = 0.1169;\r\nassert(isequal(bday_phenom(x),y_correct))\r\n\r\n%%\r\nx = 20;\r\ny_correct = 0.4114;\r\nassert(isequal(bday_phenom(x),y_correct))\r\n\r\n%%\r\nx = 30;\r\ny_correct = 0.7063;\r\nassert(isequal(bday_phenom(x),y_correct))\r\n\r\n%%\r\nx = 50;\r\ny_correct = 0.9703;\r\nassert(isequal(bday_phenom(x),y_correct))\r\n\r\n%%\r\nx = 366;\r\ny_correct = 1;\r\nassert(isequal(bday_phenom(x),y_correct))\r\n\r\n%%\r\nx = 4873;\r\ny_correct = 1;\r\nassert(isequal(bday_phenom(x),y_correct))","published":true,"deleted":false,"likes_count":6,"comments_count":8,"created_by":3296,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":259,"test_suite_updated_at":"2012-04-20T15:35:29.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-04-18T19:30:11.000Z","updated_at":"2026-04-26T01:07:37.000Z","published_at":"2012-04-19T16:28:12.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\u003eFirst off, leap years are not being considered for this. In fact the year that people are born shouldn't be taken into consideration, for simplicity.\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\u003eThe basic question is given an input, a single integer representing the number of people in the room (X \u0026gt;= 1). Return the probability that 2 or more people share the same birthday.\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\u003eThe return from the function should be a value between 0 and 1, inclusive. It should also be rounded out to the 10 thousandth decimal point (4 after the decimal point). There should be no trailing zeros included.\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":179,"title":"Monte-Carlo integration","description":"Write a function that estimates a d-dimensional integral to at least 1% relative precision.\r\n\r\nInputs:\r\n\r\n* d: positive integer. The dimension of the integral.\r\n* fun: function handle. The function accepts a row-vector of length d as an argument and returns a real scalar as a result.\r\n\r\nOutput:\r\n\r\n* I: is the integral over fun from 0 to 1 in each direction.\r\n\r\n     1     1        1            \r\n     /     /        /           \r\n I = |dx_1 |dx_2 ...| dx_d  fun([x_1,x_2,...,x_d])\r\n     /     /        /            \r\n     0     0        0            \r\n\r\nExample:\r\n\r\n  fun = @(x) x(1)*x(2)\r\n  d = 2\r\n\r\nThe result should be 0.25. An output I=0.2501 would be acceptable, because the relative deviation would be abs(0.25-0.2501)/0.25 which is smaller than 1%.\r\n\r\nThe functions in the test-suite are all positive and generally 'well behaved', i.e. not fluctuating too much. Some of the tests hav a relatively large d.","description_html":"\u003cp\u003eWrite a function that estimates a d-dimensional integral to at least 1% relative precision.\u003c/p\u003e\u003cp\u003eInputs:\u003c/p\u003e\u003cul\u003e\u003cli\u003ed: positive integer. The dimension of the integral.\u003c/li\u003e\u003cli\u003efun: function handle. The function accepts a row-vector of length d as an argument and returns a real scalar as a result.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eOutput:\u003c/p\u003e\u003cul\u003e\u003cli\u003eI: is the integral over fun from 0 to 1 in each direction.\u003c/li\u003e\u003c/ul\u003e\u003cpre\u003e     1     1        1            \r\n     /     /        /           \r\n I = |dx_1 |dx_2 ...| dx_d  fun([x_1,x_2,...,x_d])\r\n     /     /        /            \r\n     0     0        0            \u003c/pre\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cpre class=\"language-matlab\"\u003efun = @(x) x(1)*x(2)\r\nd = 2\r\n\u003c/pre\u003e\u003cp\u003eThe result should be 0.25. An output I=0.2501 would be acceptable, because the relative deviation would be abs(0.25-0.2501)/0.25 which is smaller than 1%.\u003c/p\u003e\u003cp\u003eThe functions in the test-suite are all positive and generally 'well behaved', i.e. not fluctuating too much. Some of the tests hav a relatively large d.\u003c/p\u003e","function_template":"function I = dquad(d,fun)\r\n  I=fun(0.5*ones(1,d));\r\nend","test_suite":"%% 1d integral: integrate x^2 from 0 to 1\r\nfun = @(x) x^2;\r\nassert(abs((dquad(1,fun) - 1/3)*3)\u003c0.01)\r\n\r\n%% 2d integral from the example\r\nfun = @(x) x(1)*x(2);\r\nassert(abs((dquad(2,fun) - 0.25)*4)\u003c0.01)\r\n\r\n%% constant in most dimensions\r\nfun = @(x) 1+sin(x(1));\r\nassert(abs((dquad(50,fun) -  1.45969769)/1.45969769)\u003c0.01)\r\n\r\n%% volume of d-dimensional 2^d box with a spherical hole, d between 5 and 10\r\nd = randi([5 10],1)\r\nr = rand*0.8\r\nfun = @(x) 2^d*(norm(x)\u003er);\r\ndball = exp(d/2*log(pi)+d*log(r)-gammaln(d/2+1));\r\nassert(abs((dquad(d,fun) - 2^d+dball)/(2^d-dball))\u003c0.01)\r\n","published":true,"deleted":false,"likes_count":7,"comments_count":8,"created_by":203,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":159,"test_suite_updated_at":"2012-01-31T21:50:54.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2012-01-30T15:04:16.000Z","updated_at":"2026-04-26T01:08:53.000Z","published_at":"2012-02-01T19:02:46.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\u003eWrite a function that estimates a d-dimensional integral to at least 1% relative precision.\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\u003eInputs:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003ed: positive integer. The dimension of the integral.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003efun: function handle. The function accepts a row-vector of length d as an argument and returns a real scalar as a result.\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\u003eOutput:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eI: is the integral over fun from 0 to 1 in each direction.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[     1     1        1            \\n     /     /        /           \\n I = |dx_1 |dx_2 ...| dx_d  fun([x_1,x_2,...,x_d])\\n     /     /        /            \\n     0     0        0]]\u003e\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\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[fun = @(x) x(1)*x(2)\\nd = 2]]\u003e\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\u003eThe result should be 0.25. An output I=0.2501 would be acceptable, because the relative deviation would be abs(0.25-0.2501)/0.25 which is smaller than 1%.\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\u003eThe functions in the test-suite are all positive and generally 'well behaved', i.e. not fluctuating too much. Some of the tests hav a relatively large d.\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":47618,"title":"Create initial basic feasible solution for transportation problems - North-West Corner Method","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 551.25px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 275.625px; transform-origin: 407px 275.625px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 341.25px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 170.625px; text-align: left; transform-origin: 384px 170.625px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" style=\"vertical-align: baseline\" src=\"data:image/png;base64,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\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eSelect the north-west corner of the matrix and assign as many units as possible (min(50,20))\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eIn this case total transportation cost is = 20*5 + 30*1 + 5*2 + 35*4 + 5*1 + 85*6 = 795\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eYou can watch this video for further information \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.youtube.com/watch?v=Q31jKiEXxdc\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eTransportation problems\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eYou should return assignment matrix and total cost\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003e\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [assignmentMatrix, totalCost] = transportationNorthWest(x)\r\n\r\nend","test_suite":"%%\r\nx = [ 5 1 8 9 50;\r\n    1 2 4 6 40;\r\n    7 9 1 6 90;\r\n    20 35 40 85 180];\r\nassignmentMatrix = [20 30 0 0;\r\n    0 5 35 0;\r\n    0 0 5 85];\r\ntotalCost = 795;\r\n[assignmentSolution, totalCostSolution] = transportationNorthWest(x);\r\nassert(isequal(assignmentMatrix, assignmentSolution))\r\nassert(isequal(totalCost, totalCostSolution))\r\n\r\n%%\r\nx = rand(4,5);\r\nx(end+1,end+1) = 270;\r\nx(:,end) = [50; 99; 71; 50; 270];\r\nx(end,:) = [10 38 42 76 104 270];\r\nassignmentMatrix = [10 38 2 0 0;\r\n    0 0 40 59 0;\r\n    0 0 0 17 54;\r\n    0 0 0 0 50];\r\ntotalCost = sum(sum(x(1:end-1,1:end-1).*assignmentMatrix));\r\n[assignmentSolution, totalCostSolution] = transportationNorthWest(x);\r\nassert(isequal(assignmentMatrix, assignmentSolution))\r\nassert(abs(totalCost - totalCostSolution)\u003c0.001)\r\n\r\n%%\r\nx = rand(5,5);\r\nx(end+1,end+1) = 250;\r\nx(:,end) = [70;30;60;40;50;250];\r\nx(end,:) = [50 34 46 78 42 250];\r\nassignmentMatrix = [50 20 0 0 0;\r\n    0 14 16 0 0;\r\n    0 0 30 30 0;\r\n    0 0 0 40 0;\r\n    0 0 0 8 42];\r\ntotalCost = sum(sum(x(1:end-1,1:end-1).*assignmentMatrix));\r\n[assignmentSolution, totalCostSolution] = transportationNorthWest(x);\r\nassert(isequal(assignmentMatrix, assignmentSolution))\r\nassert(abs(totalCost - totalCostSolution)\u003c0.001)\r\n\r\n%%\r\nx = rand(4,2);\r\nx(end+1,end+1) = 117;\r\nx(:,end) = [10;10;30;67;117];\r\nx(end,:) = [93 24 117];\r\nassignmentMatrix = [10 0;\r\n    10 0;\r\n    30 0;\r\n    43 24];\r\ntotalCost = sum(sum(x(1:end-1,1:end-1).*assignmentMatrix));\r\n[assignmentSolution, totalCostSolution] = transportationNorthWest(x);\r\nassert(isequal(assignmentMatrix, assignmentSolution))\r\nassert(abs(totalCost - totalCostSolution)\u003c0.001)\r\n\r\n","published":true,"deleted":false,"likes_count":6,"comments_count":0,"created_by":8703,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":71,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-11-25T09:15:08.000Z","updated_at":"2026-04-25T21:05:39.000Z","published_at":"2020-11-25T09:57:35.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\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:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"705\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"1615\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\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\u003eSelect the north-west corner of the matrix and assign as many units as possible (min(50,20))\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\u003eIn this case total transportation cost is = 20*5 + 30*1 + 5*2 + 35*4 + 5*1 + 85*6 = 795\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 watch this video for further information \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.youtube.com/watch?v=Q31jKiEXxdc\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTransportation problems\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\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\u003e\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 should return assignment matrix and total cost\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\u003e\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":2869,"title":"There are 10 types of people in the world","description":"Those who know binary, and those who don't.\r\n\r\nThe number 2015 is a palindrome in binary (11111011111 to be exact)  Given a year (in base 10 notation) calculate how many more years it will be until the next year that is a binary palindrome.  For example, if you are given the year 1881 (palindrome in base 10! :-), the function should output 30, as the next year that is a binary palindrome is 1911.  You can assume all years are positive integers.\r\n\r\nGood luck!!kcul dooG","description_html":"\u003cp\u003eThose who know binary, and those who don't.\u003c/p\u003e\u003cp\u003eThe number 2015 is a palindrome in binary (11111011111 to be exact)  Given a year (in base 10 notation) calculate how many more years it will be until the next year that is a binary palindrome.  For example, if you are given the year 1881 (palindrome in base 10! :-), the function should output 30, as the next year that is a binary palindrome is 1911.  You can assume all years are positive integers.\u003c/p\u003e\u003cp\u003eGood luck!!kcul dooG\u003c/p\u003e","function_template":"function y = yearraey(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1881;y_correct = 30;\r\nassert(isequal(yearraey(x),y_correct))\r\n%%\r\nx = 2014;y_correct = 1;\r\nassert(isequal(yearraey(x),y_correct))\r\n%%\r\nx = 2015;y_correct = 0;\r\nassert(isequal(yearraey(x),y_correct))\r\n%%\r\nx = 606;y_correct = 27;\r\nassert(isequal(yearraey(x),y_correct))\r\n%%\r\nx = 6006;y_correct = 71;\r\nassert(isequal(yearraey(x),y_correct))\r\n%%\r\nx = 60006;y_correct = 369;\r\nassert(isequal(yearraey(x),y_correct))\r\n%%\r\nk=zeros(1,15);\r\nfor n=1:15\r\n    y=2^n+2;\r\n    k(n)=yearraey(y);\r\nend\r\ny_correct=[1 1 5 3 11 7 23 15 47 31 95 63 191 127 383];\r\nassert(isequal(k,y_correct))","published":true,"deleted":false,"likes_count":32,"comments_count":4,"created_by":1615,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":1335,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":45,"created_at":"2015-01-21T19:54:31.000Z","updated_at":"2026-04-26T03:58:40.000Z","published_at":"2015-01-21T19:54:31.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\u003eThose who know binary, and those who don't.\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\u003eThe number 2015 is a palindrome in binary (11111011111 to be exact) Given a year (in base 10 notation) calculate how many more years it will be until the next year that is a binary palindrome. For example, if you are given the year 1881 (palindrome in base 10! :-), the function should output 30, as the next year that is a binary palindrome is 1911. You can assume all years are positive integers.\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!!kcul dooG\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":44288,"title":"Throwing Dice - Will You Be Eaten By The Dragon?","description":"You and a dragon have agreed to let dice rolls determine whether it eats you or not.\r\nThe dragon will roll a single die, of x sides. You will roll several dice, of y sides each. The total number of sides on your dice add to x.\r\nThe dragon will let you go uneaten if your total throw matches or exceeds theirs.\r\nWhat are your chances of survival?","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.4333px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 132px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 66px; transform-origin: 407px 66px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 263.5px 8px; transform-origin: 263.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eYou and a dragon have agreed to let dice rolls determine whether it eats you or not.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 373.5px 8px; transform-origin: 373.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe dragon will roll a single die, of x sides. You will roll several dice, of y sides each. The total number of sides on your dice add to x.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 251.5px 8px; transform-origin: 251.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe dragon will let you go uneaten if your total throw matches or exceeds theirs.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 21px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 111.5px 8px; transform-origin: 111.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWhat are your chances of survival?\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function p = survival(x,y)\r\n  p = x/y;\r\nend","test_suite":"%%\r\nx = 6;\r\ny = 3;\r\np_correct = 2/3;\r\nassert(abs(survival(x,y)-p_correct)\u003c1e-6)\r\n%%\r\nx = 15;\r\ny = 5;\r\np_correct = 3/5;\r\nassert(abs(survival(x,y)-p_correct)\u003c1e-6)\r\n%%\r\nx = 30;\r\ny = 6;\r\np_correct = 35/60;\r\nassert(abs(survival(x,y)-p_correct)\u003c1e-6)\r\n%%\r\nx = 21;\r\ny = 7;\r\np_correct = 4/7;\r\nassert(abs(survival(x,y)-p_correct)\u003c1e-6)\r\n%%\r\nx = 54;\r\ny = 9;\r\np_correct = 5/9;\r\nassert(abs(survival(x,y)-p_correct)\u003c1e-6)\r\n%%\r\nx = randi(100);\r\ny = 1;\r\nassert(abs(survival(x,y)-y)\u003c1e-6)\r\n%%\r\nx = randi([10 100],1,10);\r\ny = 5;\r\nout=arrayfun(@(a) survival(a,y), x);\r\nassert(isequal(unique(round(out,1)),0.6))\r\n","published":true,"deleted":false,"likes_count":11,"comments_count":13,"created_by":13840,"edited_by":223089,"edited_at":"2023-03-21T14:10:58.000Z","deleted_by":null,"deleted_at":null,"solvers_count":177,"test_suite_updated_at":"2023-03-21T14:10:58.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2017-08-24T09:19:28.000Z","updated_at":"2026-04-26T01:05:02.000Z","published_at":"2017-08-24T10:04:09.000Z","restored_at":null,"restored_by":null,"spam":null,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou and a dragon have agreed to let dice rolls determine whether it eats you 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe dragon will roll a single die, of x sides. You will roll several dice, of y sides each. The total number of sides on your dice add to x.\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\u003eThe dragon will let you go uneaten if your total throw matches or exceeds theirs.\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\u003eWhat are your chances of survival?\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":1197,"title":"Numerical Integration","description":"Input\r\n\r\n* |x0|, a real number greater than 0\r\n\r\nOutput\r\n\r\n* |I|, a numerical estimate of the integral\r\n\r\n      x0\r\n      /\r\n  I = |  cosh(x) / sqrt(cosh(x0) - cosh(x)) dx\r\n      /\r\n      0\r\n\r\nExample:\r\n\r\n   x0=1.0  --\u003e  I = 2.6405789412796\r\n\r\n\r\nRemarks:\r\n\r\n* Aim at a relative precision better than 1e-10\r\n* The problem arises studying the frictionless movement of a mass point on a hanging wire, which follows the curve cosh(x).","description_html":"\u003cp\u003eInput\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003ctt\u003ex0\u003c/tt\u003e, a real number greater than 0\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eOutput\u003c/p\u003e\u003cul\u003e\u003cli\u003e\u003ctt\u003eI\u003c/tt\u003e, a numerical estimate of the integral\u003c/li\u003e\u003c/ul\u003e\u003cpre\u003e      x0\r\n      /\r\n  I = |  cosh(x) / sqrt(cosh(x0) - cosh(x)) dx\r\n      /\r\n      0\u003c/pre\u003e\u003cp\u003eExample:\u003c/p\u003e\u003cpre\u003e   x0=1.0  --\u003e  I = 2.6405789412796\u003c/pre\u003e\u003cp\u003eRemarks:\u003c/p\u003e\u003cul\u003e\u003cli\u003eAim at a relative precision better than 1e-10\u003c/li\u003e\u003cli\u003eThe problem arises studying the frictionless movement of a mass point on a hanging wire, which follows the curve cosh(x).\u003c/li\u003e\u003c/ul\u003e","function_template":"function I = coshint(x0)\r\n  I = x0;\r\nend","test_suite":"%%\r\nx0 = 1;\r\nI_correct = 2.6405789412796;\r\nfprintf('Relative difference to reference solution: %e\\n',norm(coshint(x0)-I_correct)/I_correct)\r\nassert(norm(coshint(x0)-I_correct)/I_correct \u003c= 1e-10)\r\n\r\n%%\r\nx0 = 2;\r\nI_correct = 3.9464053536380;\r\nfprintf('Relative difference to reference solution: %e\\n',norm(coshint(x0)-I_correct)/I_correct)\r\nassert(norm(coshint(x0)-I_correct)/I_correct \u003c= 1e-10)\r\n\r\n%%\r\nx0 = 13;\r\nI_correct = 9.4065231838369e+02;\r\nfprintf('Relative difference to reference solution: %e\\n',norm(coshint(x0)-I_correct)/I_correct)\r\nassert(norm(coshint(x0)-I_correct)/I_correct \u003c= 1e-10)\r\n\r\n%% randomized test for small values of x0 where \r\n % cosh(x) ~ 1 + x^2/2 + ...\r\n % and up to x0=1e-5 Integrating (analytically) the approximation is\r\n % accurate enough\r\nfor l=1:5\r\n   x0 = 1e-6 * (1+rand);\r\n   I_correct = pi*(4+x0^2)/4/sqrt(2);\r\n   fprintf('Relative difference to reference solution: %e\\n',norm(coshint(x0)-I_correct)/I_correct)\r\n   assert(norm(coshint(x0)-I_correct)/I_correct \u003c= 1e-10)\r\nend","published":true,"deleted":false,"likes_count":1,"comments_count":9,"created_by":203,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":108,"test_suite_updated_at":"2013-01-11T15:08:44.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2013-01-11T14:11:17.000Z","updated_at":"2026-04-26T01:12:47.000Z","published_at":"2013-01-11T15:08:44.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\u003eInput\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ex0\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, a real number greater than 0\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\u003eOutput\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eI\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, a numerical estimate of the integral\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[      x0\\n      /\\n  I = |  cosh(x) / sqrt(cosh(x0) - cosh(x)) dx\\n      /\\n      0]]\u003e\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\u003eExample:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[   x0=1.0  --\u003e  I = 2.6405789412796]]\u003e\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\u003eRemarks:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAim at a relative precision better than 1e-10\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"ListParagraph\\\"/\u003e\u003cw:numPr\u003e\u003cw:numId w:val=\\\"1\\\"/\u003e\u003c/w:numPr\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe problem arises studying the frictionless movement of a mass point on a hanging wire, which follows the curve cosh(x).\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":"difficulty_rating_bin:medium group:\"M3 Challenge Problem Group\"","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":"difficulty_rating_bin:medium group:\"M3 Challenge Problem Group\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"difficulty_rating_bin":[["difficulty_rating_bin:medium","","","medium",""]],"group":[["group:\"M3 Challenge Problem Group\"","","\"","M3 Challenge Problem Group","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f4452ce5200\u003e":["M3 Challenge Problem Group"],"#\u003cMathWorks::Search::Field:0x00007f4452ce50c0\u003e":["medium"]},"filters":{"#\u003cMathWorks::Search::Field:0x00007f4452ce44e0\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f4452ce5520\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f4452ce5480\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f4452ce5340\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f4452ce52a0\u003e":"difficulty_rating_bin:medium group:\"M3 Challenge Problem Group\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f4452ce52a0\u003e":"difficulty_rating_bin:medium group:\"M3 Challenge Problem Group\""},"queried_facets":{"#\u003cMathWorks::Search::Field:0x00007f4452ce5200\u003e":["M3 Challenge Problem Group"],"#\u003cMathWorks::Search::Field:0x00007f4452ce50c0\u003e":["medium"]}},"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":"difficulty_rating_bin:medium group:\"M3 Challenge Problem Group\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"difficulty_rating_bin":[["difficulty_rating_bin:medium","","","medium",""]],"group":[["group:\"M3 Challenge Problem Group\"","","\"","M3 Challenge Problem Group","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f4452ce5200\u003e":["M3 Challenge Problem Group"],"#\u003cMathWorks::Search::Field:0x00007f4452ce50c0\u003e":["medium"]},"filters":{"#\u003cMathWorks::Search::Field:0x00007f4452ce44e0\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f4452ce5520\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f4452ce5480\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f4452ce5340\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f4452ce52a0\u003e":"difficulty_rating_bin:medium group:\"M3 Challenge Problem Group\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f4452ce52a0\u003e":"difficulty_rating_bin:medium group:\"M3 Challenge Problem Group\""},"queried_facets":{"#\u003cMathWorks::Search::Field:0x00007f4452ce5200\u003e":["M3 Challenge Problem Group"],"#\u003cMathWorks::Search::Field:0x00007f4452ce50c0\u003e":["medium"]}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":44943,"difficulty_rating":"easy-medium"},{"id":233,"difficulty_rating":"easy-medium"},{"id":44946,"difficulty_rating":"easy-medium"},{"id":189,"difficulty_rating":"easy-medium"},{"id":3056,"difficulty_rating":"easy-medium"},{"id":174,"difficulty_rating":"easy-medium"},{"id":1087,"difficulty_rating":"easy-medium"},{"id":12,"difficulty_rating":"medium"},{"id":231,"difficulty_rating":"medium"},{"id":597,"difficulty_rating":"medium"},{"id":179,"difficulty_rating":"medium"},{"id":47618,"difficulty_rating":"medium"},{"id":2869,"difficulty_rating":"medium"},{"id":44288,"difficulty_rating":"medium"},{"id":1197,"difficulty_rating":"medium"}]}}