{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-05-26T00:16:20.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-05-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":2397,"title":"Leap Year","description":"According to Gregorian Calender(which is in use now, in many countries),decide whether a given year is a leap year or not.\r\nGive 'true' if the given year is a leap year and 'false',if not.\r\n\r\nNote:\r\nIn the Gregorian calendar 3 criteria must be taken into account to identify leap years:\r\n\r\nThe year is evenly divisible by 4;\r\nIf the year can be evenly divided by 100, it is NOT a leap year, unless;\r\nThe year is also evenly divisible by 400. Then it is a leap year.","description_html":"\u003cp\u003eAccording to Gregorian Calender(which is in use now, in many countries),decide whether a given year is a leap year or not.\r\nGive 'true' if the given year is a leap year and 'false',if not.\u003c/p\u003e\u003cp\u003eNote:\r\nIn the Gregorian calendar 3 criteria must be taken into account to identify leap years:\u003c/p\u003e\u003cp\u003eThe year is evenly divisible by 4;\r\nIf the year can be evenly divided by 100, it is NOT a leap year, unless;\r\nThe year is also evenly divisible by 400. Then it is a leap year.\u003c/p\u003e","function_template":"function y = leap(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1700;\r\ny_correct = false;\r\nassert(isequal(leap(x),y_correct))\r\n\r\n%%\r\nx = 2000;\r\ny_correct = true;\r\nassert(isequal(leap(x),y_correct))\r\n\r\n%%\r\nx = 2014;\r\ny_correct = false;\r\nassert(isequal(leap(x),y_correct))\r\n\r\n\r\n%%\r\nx = 2020;\r\ny_correct = true;\r\nassert(isequal(leap(x),y_correct))\r\n \r\n%%\r\nx = 2100;\r\ny_correct = false;\r\nassert(isequal(leap(x),y_correct))\r\n\r\n%%\r\nx = 2400;\r\ny_correct = true;\r\nassert(isequal(leap(x),y_correct))\r\n\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":3,"created_by":15302,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":239,"test_suite_updated_at":"2014-07-01T06:37:35.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2014-06-30T19:41:10.000Z","updated_at":"2026-05-15T09:45:27.000Z","published_at":"2014-06-30T19:41:10.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\u003eAccording to Gregorian Calender(which is in use now, in many countries),decide whether a given year is a leap year or not. Give 'true' if the given year is a leap year and 'false',if 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\u003eNote: In the Gregorian calendar 3 criteria must be taken into account to identify leap years:\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 year is evenly divisible by 4; If the year can be evenly divided by 100, it is NOT a leap year, unless; The year is also evenly divisible by 400. Then it is a leap year.\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":45328,"title":"leap year","description":"find the number of leap years within the given time interval","description_html":"\u003cp\u003efind the number of leap years within the given time interval\u003c/p\u003e","function_template":"function b = leap_count(n)\r\n  y = x;\r\nend","test_suite":"%%\r\nn = 1900:2000;\r\nassert(isequal( leap_count(n),25))\r\n%%\r\nn = 100:2000;\r\nassert(isequal( leap_count(n),461))\r\n%%\r\nn = 1600:2000;\r\nassert(isequal( leap_count(n),98))\r\n%%\r\nn = 3000;\r\nassert(isequal( leap_count(n),0))\r\n%%\r\nn = 377:467;\r\nassert(isequal( leap_count(n),22))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":87,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-02-15T07:16:33.000Z","updated_at":"2026-05-24T14:26:00.000Z","published_at":"2020-02-15T07:16:59.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\u003efind the number of leap years within the given time interval\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":1319,"title":"Leap years on other planets","description":"A year is a leap year if it is divisible by 4, but not if it is divisible by 100, unless it is also divisible by 400.  This means the average length of a calendar year is \r\n\r\n    365 + 1/4 - 1/100 + 1/400 = 365.2425 days\r\n\r\nwhich approximately matches the length of an actual year (the number of days it takes the earth to go around the sun once).  \r\n \r\nGiven p, the length of a year on another planet in units of days on that planet, and given that normal years have N days and leap years have N+1 days, where N=floor(p), find integer vector m\u003e0 defining leap years [years divisible by m(1) are leap years, but years divisible by m(2) are not, unless they are divisible by m(3), but then not if they are divisible by m(4), etc.] so that\r\n \r\n   p = N + 1/m(1) - 1/m(2) + 1/m(3) - 1/m(4) + ...\r\n\r\nInclude enough terms so that this is correct to four decimal places.  Note that m(i+1) should be an integer multiple of m(i).  Results are not necessarily unique.  For example, if p=365.2425 then m=[4 100 400] is an exact answer, but m=[4 132 13068] also could be used (and [4 132] gives 365.2424, a better approximation than [4 100], which gives 365.2400).","description_html":"\u003cp\u003eA year is a leap year if it is divisible by 4, but not if it is divisible by 100, unless it is also divisible by 400.  This means the average length of a calendar year is\u003c/p\u003e\u003cpre\u003e    365 + 1/4 - 1/100 + 1/400 = 365.2425 days\u003c/pre\u003e\u003cp\u003ewhich approximately matches the length of an actual year (the number of days it takes the earth to go around the sun once).\u003c/p\u003e\u003cp\u003eGiven p, the length of a year on another planet in units of days on that planet, and given that normal years have N days and leap years have N+1 days, where N=floor(p), find integer vector m\u003e0 defining leap years [years divisible by m(1) are leap years, but years divisible by m(2) are not, unless they are divisible by m(3), but then not if they are divisible by m(4), etc.] so that\u003c/p\u003e\u003cpre\u003e   p = N + 1/m(1) - 1/m(2) + 1/m(3) - 1/m(4) + ...\u003c/pre\u003e\u003cp\u003eInclude enough terms so that this is correct to four decimal places.  Note that m(i+1) should be an integer multiple of m(i).  Results are not necessarily unique.  For example, if p=365.2425 then m=[4 100 400] is an exact answer, but m=[4 132 13068] also could be used (and [4 132] gives 365.2424, a better approximation than [4 100], which gives 365.2400).\u003c/p\u003e","function_template":"function m=leapsequence(p)\r\nm=[];\r\n","test_suite":"%%\r\nN={'Mercury','Venus','Earth','Mars','Jupiter',...\r\n   'Saturn','Uranus','Neptune','Pluto'};\r\nP=[0.5000 1.9246 365.2425 668.5950 10471.0182 ...\r\n   24204.8198 42582.9327 89087.3743 14183.7398];\r\nfor i=1:9\r\n   p=P(i);\r\n   m=leapsequence(p);\r\n   n=numel(m);\r\n   r=dot(1./m,(-1).^(0:n-1));\r\n   disp([N{i} ' p=' num2str(p,'%0.6f') ...\r\n    ' r=' num2str(r,'%0.6f') ' m=' mat2str(m)])\r\n   assert(abs(floor(p)+r-p)\u003c=0.00005);\r\n   assert(all(m\u003e0))\r\n   assert(all(mod(m,1)==0))\r\n   assert(all(mod([m 0],[1 m])==0))\r\nend\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":1,"created_by":245,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":66,"test_suite_updated_at":"2017-10-27T13:34:03.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2013-03-06T18:17:19.000Z","updated_at":"2026-05-26T16:50:13.000Z","published_at":"2013-03-06T18:40: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\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA year is a leap year if it is divisible by 4, but not if it is divisible by 100, unless it is also divisible by 400. This means the average length of a calendar year 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[    365 + 1/4 - 1/100 + 1/400 = 365.2425 days]]\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\u003ewhich approximately matches the length of an actual year (the number of days it takes the earth to go around the sun once).\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\u003eGiven p, the length of a year on another planet in units of days on that planet, and given that normal years have N days and leap years have N+1 days, where N=floor(p), find integer vector m\u0026gt;0 defining leap years [years divisible by m(1) are leap years, but years divisible by m(2) are not, unless they are divisible by m(3), but then not if they are divisible by m(4), etc.] so that\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[   p = N + 1/m(1) - 1/m(2) + 1/m(3) - 1/m(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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eInclude enough terms so that this is correct to four decimal places. Note that m(i+1) should be an integer multiple of m(i). Results are not necessarily unique. For example, if p=365.2425 then m=[4 100 400] is an exact answer, but m=[4 132 13068] also could be used (and [4 132] gives 365.2424, a better approximation than [4 100], which gives 365.2400).\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":{"problems":[{"id":2397,"title":"Leap Year","description":"According to Gregorian Calender(which is in use now, in many countries),decide whether a given year is a leap year or not.\r\nGive 'true' if the given year is a leap year and 'false',if not.\r\n\r\nNote:\r\nIn the Gregorian calendar 3 criteria must be taken into account to identify leap years:\r\n\r\nThe year is evenly divisible by 4;\r\nIf the year can be evenly divided by 100, it is NOT a leap year, unless;\r\nThe year is also evenly divisible by 400. Then it is a leap year.","description_html":"\u003cp\u003eAccording to Gregorian Calender(which is in use now, in many countries),decide whether a given year is a leap year or not.\r\nGive 'true' if the given year is a leap year and 'false',if not.\u003c/p\u003e\u003cp\u003eNote:\r\nIn the Gregorian calendar 3 criteria must be taken into account to identify leap years:\u003c/p\u003e\u003cp\u003eThe year is evenly divisible by 4;\r\nIf the year can be evenly divided by 100, it is NOT a leap year, unless;\r\nThe year is also evenly divisible by 400. Then it is a leap year.\u003c/p\u003e","function_template":"function y = leap(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nx = 1700;\r\ny_correct = false;\r\nassert(isequal(leap(x),y_correct))\r\n\r\n%%\r\nx = 2000;\r\ny_correct = true;\r\nassert(isequal(leap(x),y_correct))\r\n\r\n%%\r\nx = 2014;\r\ny_correct = false;\r\nassert(isequal(leap(x),y_correct))\r\n\r\n\r\n%%\r\nx = 2020;\r\ny_correct = true;\r\nassert(isequal(leap(x),y_correct))\r\n \r\n%%\r\nx = 2100;\r\ny_correct = false;\r\nassert(isequal(leap(x),y_correct))\r\n\r\n%%\r\nx = 2400;\r\ny_correct = true;\r\nassert(isequal(leap(x),y_correct))\r\n\r\n\r\n\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":3,"created_by":15302,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":239,"test_suite_updated_at":"2014-07-01T06:37:35.000Z","rescore_all_solutions":true,"group_id":1,"created_at":"2014-06-30T19:41:10.000Z","updated_at":"2026-05-15T09:45:27.000Z","published_at":"2014-06-30T19:41:10.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\u003eAccording to Gregorian Calender(which is in use now, in many countries),decide whether a given year is a leap year or not. Give 'true' if the given year is a leap year and 'false',if 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\u003eNote: In the Gregorian calendar 3 criteria must be taken into account to identify leap years:\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 year is evenly divisible by 4; If the year can be evenly divided by 100, it is NOT a leap year, unless; The year is also evenly divisible by 400. Then it is a leap year.\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":45328,"title":"leap year","description":"find the number of leap years within the given time interval","description_html":"\u003cp\u003efind the number of leap years within the given time interval\u003c/p\u003e","function_template":"function b = leap_count(n)\r\n  y = x;\r\nend","test_suite":"%%\r\nn = 1900:2000;\r\nassert(isequal( leap_count(n),25))\r\n%%\r\nn = 100:2000;\r\nassert(isequal( leap_count(n),461))\r\n%%\r\nn = 1600:2000;\r\nassert(isequal( leap_count(n),98))\r\n%%\r\nn = 3000;\r\nassert(isequal( leap_count(n),0))\r\n%%\r\nn = 377:467;\r\nassert(isequal( leap_count(n),22))","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":363598,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":87,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-02-15T07:16:33.000Z","updated_at":"2026-05-24T14:26:00.000Z","published_at":"2020-02-15T07:16:59.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\u003efind the number of leap years within the given time interval\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":1319,"title":"Leap years on other planets","description":"A year is a leap year if it is divisible by 4, but not if it is divisible by 100, unless it is also divisible by 400.  This means the average length of a calendar year is \r\n\r\n    365 + 1/4 - 1/100 + 1/400 = 365.2425 days\r\n\r\nwhich approximately matches the length of an actual year (the number of days it takes the earth to go around the sun once).  \r\n \r\nGiven p, the length of a year on another planet in units of days on that planet, and given that normal years have N days and leap years have N+1 days, where N=floor(p), find integer vector m\u003e0 defining leap years [years divisible by m(1) are leap years, but years divisible by m(2) are not, unless they are divisible by m(3), but then not if they are divisible by m(4), etc.] so that\r\n \r\n   p = N + 1/m(1) - 1/m(2) + 1/m(3) - 1/m(4) + ...\r\n\r\nInclude enough terms so that this is correct to four decimal places.  Note that m(i+1) should be an integer multiple of m(i).  Results are not necessarily unique.  For example, if p=365.2425 then m=[4 100 400] is an exact answer, but m=[4 132 13068] also could be used (and [4 132] gives 365.2424, a better approximation than [4 100], which gives 365.2400).","description_html":"\u003cp\u003eA year is a leap year if it is divisible by 4, but not if it is divisible by 100, unless it is also divisible by 400.  This means the average length of a calendar year is\u003c/p\u003e\u003cpre\u003e    365 + 1/4 - 1/100 + 1/400 = 365.2425 days\u003c/pre\u003e\u003cp\u003ewhich approximately matches the length of an actual year (the number of days it takes the earth to go around the sun once).\u003c/p\u003e\u003cp\u003eGiven p, the length of a year on another planet in units of days on that planet, and given that normal years have N days and leap years have N+1 days, where N=floor(p), find integer vector m\u003e0 defining leap years [years divisible by m(1) are leap years, but years divisible by m(2) are not, unless they are divisible by m(3), but then not if they are divisible by m(4), etc.] so that\u003c/p\u003e\u003cpre\u003e   p = N + 1/m(1) - 1/m(2) + 1/m(3) - 1/m(4) + ...\u003c/pre\u003e\u003cp\u003eInclude enough terms so that this is correct to four decimal places.  Note that m(i+1) should be an integer multiple of m(i).  Results are not necessarily unique.  For example, if p=365.2425 then m=[4 100 400] is an exact answer, but m=[4 132 13068] also could be used (and [4 132] gives 365.2424, a better approximation than [4 100], which gives 365.2400).\u003c/p\u003e","function_template":"function m=leapsequence(p)\r\nm=[];\r\n","test_suite":"%%\r\nN={'Mercury','Venus','Earth','Mars','Jupiter',...\r\n   'Saturn','Uranus','Neptune','Pluto'};\r\nP=[0.5000 1.9246 365.2425 668.5950 10471.0182 ...\r\n   24204.8198 42582.9327 89087.3743 14183.7398];\r\nfor i=1:9\r\n   p=P(i);\r\n   m=leapsequence(p);\r\n   n=numel(m);\r\n   r=dot(1./m,(-1).^(0:n-1));\r\n   disp([N{i} ' p=' num2str(p,'%0.6f') ...\r\n    ' r=' num2str(r,'%0.6f') ' m=' mat2str(m)])\r\n   assert(abs(floor(p)+r-p)\u003c=0.00005);\r\n   assert(all(m\u003e0))\r\n   assert(all(mod(m,1)==0))\r\n   assert(all(mod([m 0],[1 m])==0))\r\nend\r\n","published":true,"deleted":false,"likes_count":2,"comments_count":1,"created_by":245,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":66,"test_suite_updated_at":"2017-10-27T13:34:03.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2013-03-06T18:17:19.000Z","updated_at":"2026-05-26T16:50:13.000Z","published_at":"2013-03-06T18:40: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\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eA year is a leap year if it is divisible by 4, but not if it is divisible by 100, unless it is also divisible by 400. This means the average length of a calendar year 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[    365 + 1/4 - 1/100 + 1/400 = 365.2425 days]]\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\u003ewhich approximately matches the length of an actual year (the number of days it takes the earth to go around the sun once).\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\u003eGiven p, the length of a year on another planet in units of days on that planet, and given that normal years have N days and leap years have N+1 days, where N=floor(p), find integer vector m\u0026gt;0 defining leap years [years divisible by m(1) are leap years, but years divisible by m(2) are not, unless they are divisible by m(3), but then not if they are divisible by m(4), etc.] so that\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[   p = N + 1/m(1) - 1/m(2) + 1/m(3) - 1/m(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\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eInclude enough terms so that this is correct to four decimal places. Note that m(i+1) should be an integer multiple of m(i). Results are not necessarily unique. For example, if p=365.2425 then m=[4 100 400] is an exact answer, but m=[4 132 13068] also could be used (and [4 132] gives 365.2424, a better approximation than [4 100], which gives 365.2400).\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\"}]}"}],"errors":[],"facets":[[{"value":"Date \u0026 Time II","count":2,"selected":false}],[{"value":"medium","count":2,"selected":false},{"value":"hard","count":1,"selected":false}]],"term":"tag:\"leap year\"","page":1,"per_page":50,"sort":"map(difficulty_value,0,0,999) asc"}}