{"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":61190,"title":"Filled Diamond Pattern","description":"Create an N×N binary matrix that forms a filled diamond shape centered in the matrix. The diamond expands symmetrically toward the center row and contracts afterward, creating a visually pleasing mandala-style pattern.\r\nExample (N = 5):\r\n11011\r\n10001\r\n00000\r\n10001\r\n11011","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; 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: 222px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 407px 111px; transform-origin: 407px 111px; vertical-align: baseline; \"\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; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 383px 21px; text-align: left; transform-origin: 383px 21px; 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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eCreate an N×N binary matrix that forms a filled diamond shape centered in the matrix. The diamond expands symmetrically toward the center row and contracts afterward, creating a visually pleasing mandala-style pattern.\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: 383px 10.5px; text-align: left; transform-origin: 383px 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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eExample (N = 5):\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: 383px 10.5px; text-align: left; transform-origin: 383px 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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e11011\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: 383px 10.5px; text-align: left; transform-origin: 383px 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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e10001\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: 383px 10.5px; text-align: left; transform-origin: 383px 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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e00000\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: 383px 10.5px; text-align: left; transform-origin: 383px 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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e10001\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: 383px 10.5px; text-align: left; transform-origin: 383px 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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e11011\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = filled_Diamond(N)\r\ny = zeros(N);\r\nend\r\n","test_suite":"%%\r\nN = 5;\r\nM5 = [1 1 0 1 1;\r\n      1 0 0 0 1;\r\n      0 0 0 0 0;\r\n      1 0 0 0 1;\r\n      1 1 0 1 1];\r\nassert(isequal(filled_Diamond(N),M5))\r\n\r\n%%\r\nN = 7;\r\nM7 = [1 1 1 0 1 1 1;\r\n      1 1 0 0 0 1 1;\r\n      1 0 0 0 0 0 1;\r\n      0 0 0 0 0 0 0;\r\n      1 0 0 0 0 0 1;\r\n      1 1 0 0 0 1 1;\r\n      1 1 1 0 1 1 1];\r\nassert(isequal(filled_Diamond(N),M7))\r\n\r\n%%\r\nN = 9;\r\nmid = 5;\r\n[x,y] = meshgrid(1:N);\r\nM9 = abs(x-mid)+abs(y-mid) \u003e mid-1;\r\nassert(isequal(filled_Diamond(N),M9))\r\n\r\n%%\r\nN = 11;\r\nmid = 6;\r\n[x,y] = meshgrid(1:N);\r\nM11 = abs(x-mid)+abs(y-mid) \u003e mid-1;\r\nassert(isequal(filled_Diamond(N),M11))\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":2305225,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":14,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2026-02-02T08:07:32.000Z","updated_at":"2026-04-09T10:17:57.000Z","published_at":"2026-02-02T08:07:32.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\u003eCreate an N×N binary matrix that forms a filled diamond shape centered in the matrix. The diamond expands symmetrically toward the center row and contracts afterward, creating a visually pleasing mandala-style pattern.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample (N = 5):\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\u003e11011\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\u003e10001\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\u003e00000\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\u003e10001\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\u003e11011\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":47895,"title":"List the dihedral primes","description":"The number 1880111 is a dihedral prime (or dihedral calculator prime) because on a seven-segment display it is prime (a) forward, (b) upside-down, (c) in a mirror, and (d) in a mirror upside-down. The number 120121 is the smallest dihedral prime that forms four different numbers read in those four ways. \r\nWrite a function to list the dihedral primes less than or equal to the input number. ","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: 93px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 46.5px; transform-origin: 407px 46.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 63px; 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 31.5px; text-align: left; transform-origin: 384px 31.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: 267.5px 8px; transform-origin: 267.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe number 1880111 is a dihedral prime (or dihedral calculator prime) because on a \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Seven-segment_display\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eseven-segment display\u003c/span\u003e\u003c/span\u003e\u003c/a\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: 44px 8px; transform-origin: 44px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e it is prime (a) forward, (b) upside-down, (c) in a mirror, and (d) in a mirror upside-down. The number 120121 is the smallest dihedral prime that forms four different numbers read in those four ways. \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: 256px 8px; transform-origin: 256px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to list the dihedral primes less than or equal to the input number. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = dihedralPrimes(n)\r\n  y = f(n);\r\nend","test_suite":"%%\r\nn = 10;\r\ny_correct = [2 5];\r\nassert(isequal(dihedralPrimes(n),y_correct))\r\n\r\n%%\r\nn = 100;\r\ny_correct = [2 5 11];\r\nassert(isequal(dihedralPrimes(n),y_correct))\r\n\r\n%%\r\nn = 1000;\r\ny_correct = [2 5 11 101 181];\r\nassert(isequal(dihedralPrimes(n),y_correct))\r\n\r\n%%\r\nn = 10000;\r\ny_correct = [2 5 11 101 181 1181 1811];\r\nassert(isequal(dihedralPrimes(n),y_correct))\r\n\r\n%%\r\nn = 100000;\r\ny_correct = [2 5 11 101 181 1181 1811 18181];\r\nassert(isequal(dihedralPrimes(n),y_correct))\r\n\r\n%%\r\nn = 1000000;\r\ny_correct = [2 5 11 101 181 1181 1811 18181 108881 110881 118081 120121 121021 121151 150151 151051 151121 180181 180811 181081 188011 188801];\r\nassert(isequal(dihedralPrimes(n),y_correct))\r\n\r\n%%\r\nn = 1e8;\r\ny = dihedralPrimes(n);\r\nyp_correct = [12552251 12585121 12815581 15128251 15225521 15282151 15525221 15812281 18001811 18010001 18011101 18088801 18110101 18111881 18188801 18201011 18221851 18288581 18501011 18551821 18588281 18811181 18881011 18888011];\r\nassert(isequal(y(91:114),yp_correct))\r\n\r\n%%\r\nfiletext = fileread('dihedralPrimes.m');\r\ncheating = ~isempty(strfind(filetext, 'urlread')) || ~isempty(strfind(filetext, 'oeis')) || ...\r\n    ~isempty(strfind(filetext, \"110881\")); %Added by Dyuman Joshi to disallow and prevent hard coded solutions\r\nassert(~cheating)","published":true,"deleted":false,"likes_count":2,"comments_count":1,"created_by":46909,"edited_by":223089,"edited_at":"2023-04-19T07:44:32.000Z","deleted_by":null,"deleted_at":null,"solvers_count":12,"test_suite_updated_at":"2023-04-19T07:44:32.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-12-11T14:07:22.000Z","updated_at":"2025-10-01T07:01:22.000Z","published_at":"2020-12-11T14:18:24.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\u003eThe number 1880111 is a dihedral prime (or dihedral calculator prime) because on a \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Seven-segment_display\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eseven-segment display\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e it is prime (a) forward, (b) upside-down, (c) in a mirror, and (d) in a mirror upside-down. The number 120121 is the smallest dihedral prime that forms four different numbers read in those four ways. \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\u003eWrite a function to list the dihedral primes less than or equal to the input number. \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":56468,"title":"IQpuzzler Preparation #1: Find all non-identical orientations of a matrix","description":"Return all non-identical orientations of a 2-D matrix that can be produced by rotating or flipping it.\r\nInput is an M-by-N matrix. You can assume integer values and no empty rows or columns.\r\nOutput is a 1-by-P cell array containing P unique M-by-N or N-by-M matrices.\r\nOrdering of the output matrices does not matter, as long as there are no repetitions.\r\nExample:\r\n{ [2 0;2 2] , [0 2;2 2] , [2 2;0 2], [2 2;2 0] } = rotflip2d([2 0;2 2])\r\nBackground:\r\nThis function will be useful for the IQpuzzler challenge on Cody.","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: 231px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 115.5px; transform-origin: 407px 115.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; 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: 299.525px 7.91667px; transform-origin: 299.525px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eReturn all non-identical orientations of a 2-D matrix that can be produced by rotating or flipping it.\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: 278.242px 7.91667px; transform-origin: 278.242px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eInput is an M-by-N matrix. You can assume integer values and no empty rows or columns.\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: 238.433px 7.91667px; transform-origin: 238.433px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eOutput is a 1-by-P cell array containing P unique M-by-N or N-by-M matrices.\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: 258.258px 7.91667px; transform-origin: 258.258px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eOrdering of the output matrices does not matter, as long as there are no repetitions.\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: 29.175px 7.91667px; transform-origin: 29.175px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eExample:\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: 188.017px 7.91667px; transform-origin: 188.017px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e{ [2 0;2 2] , [0 2;2 2] , [2 2;0 2], [2 2;2 0] } = rotflip2d([2 0;2 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: 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: 39.2917px 7.91667px; transform-origin: 39.2917px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eBackground:\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: 196.7px 7.91667px; transform-origin: 196.7px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis function will be useful for the IQpuzzler challenge on Cody.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function orientations = rotflip2d(piece)\r\n    orientations={piece};\r\nend","test_suite":"%%\r\npiece = 1;\r\no_correct = {1};\r\nassert(isequal(rotflip2d(piece),o_correct))\r\n\r\n%%\r\npiece = [1 1;1 1];\r\no_correct = {[1 1;1 1]};\r\nassert(isequal(rotflip2d(piece),o_correct))\r\n\r\n%%\r\npiece = [2 0;2 2];\r\no=rotflip2d(piece);\r\nassert(numel(o)==4);\r\nfor n=1:3\r\n    for m=n+1:4\r\n        assert(~isequal(o{n},o{m}));\r\n    end\r\nend\r\no_correct = {[2 0;2 2],[0 2;2 2],[2 2;0 2],[2 2;2 0]};\r\nfor n=1:4\r\n    f=false;\r\n    for m=1:4\r\n        if isequal(o{n},o_correct{m})\r\n            f=true;\r\n            break;\r\n        end\r\n    end\r\n    assert(f);\r\nend\r\n\r\n%%\r\npiece = [3 3;0 3;0 3];\r\no=rotflip2d(piece);\r\nassert(numel(o)==8);\r\nfor n=1:7\r\n    for m=n+1:8\r\n        assert(~isequal(o{n},o{m}));\r\n    end\r\nend\r\no_correct = {[3 3;0 3;0 3],[3 3;3 0;3 0],[0 3;0 3;3 3],[3 0;3 0;3 3],[3 3 3;0 0 3],[3 3 3;3 0 0],[3 0 0;3 3 3],[0 0 3;3 3 3]};\r\nfor n=1:8\r\n    f=false;\r\n    for m=1:8\r\n        if isequal(o{n},o_correct{m})\r\n            f=true;\r\n            break;\r\n        end\r\n    end\r\n    assert(f);\r\nend\r\n\r\n%%\r\npiece = [12 12 0 ; 0 12 12 ; 0 0 12];\r\no=rotflip2d(piece);\r\nassert(numel(o)==4);\r\nfor n=1:3\r\n    for m=n+1:4\r\n        assert(~isequal(o{n},o{m}));\r\n    end\r\nend\r\no_correct = {[12 12 0;0 12 12;0 0 12],[0 12 12;12 12 0;12 0 0],[12 0 0;12 12 0;0 12 12],[0 0 12;0 12 12;12 12 0]};\r\nfor n=1:4\r\n    f=false;\r\n    for m=1:4\r\n        if isequal(o{n},o_correct{m})\r\n            f=true;\r\n            break;\r\n        end\r\n    end\r\n    assert(f);\r\nend","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":2414210,"edited_by":2414210,"edited_at":"2022-11-22T06:34:56.000Z","deleted_by":null,"deleted_at":null,"solvers_count":4,"test_suite_updated_at":"2022-11-07T15:25:43.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2022-11-07T15:19:15.000Z","updated_at":"2022-11-22T06:34:56.000Z","published_at":"2022-11-07T15:25:43.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\u003eReturn all non-identical orientations of a 2-D matrix that can be produced by rotating or flipping it.\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\u003eInput is an M-by-N matrix. You can assume integer values and no empty rows or columns.\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\u003eOutput is a 1-by-P cell array containing P unique M-by-N or N-by-M matrices.\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\u003eOrdering of the output matrices does not matter, as long as there are no repetitions.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample:\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{ [2 0;2 2] , [0 2;2 2] , [2 2;0 2], [2 2;2 0] } = rotflip2d([2 0;2 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\u003eBackground:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis function will be useful for the IQpuzzler challenge on Cody.\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":42323,"title":"With apologies to William Blake","description":"\r\n Coder Coder, typing fast\r\n Sitting at your desk, aghast.\r\n What immortal MATLAB script\r\n will solve this problem, nice and quick?\r\n\r\nYou are given a number. Your task is to write a MATLAB script that will calculate the smallest positive number you need to add to your original number so that each digit in your sum will have horizontal symmetry. For this problem, those numbers are [0 1 3 8]\r\n\r\nFor example:\r\n\r\n*     If you are given 27, your script should output 3, as 27+3=30. Both 3 and 0 have horizontal symmetry.\r\n*     If you are given 801, your script should output 0, as 801+0=801. 8, 0 and 1 are all horizontally symmetric.\r\n*     If you are given 900, your answer should be 100, as 900+100=1000, which is the next highest number that is horizontally symmetric.\r\n\r\nGood luck. May you become a poet, and not even know it.\r\n","description_html":"\u003cpre\u003e Coder Coder, typing fast\r\n Sitting at your desk, aghast.\r\n What immortal MATLAB script\r\n will solve this problem, nice and quick?\u003c/pre\u003e\u003cp\u003eYou are given a number. Your task is to write a MATLAB script that will calculate the smallest positive number you need to add to your original number so that each digit in your sum will have horizontal symmetry. For this problem, those numbers are [0 1 3 8]\u003c/p\u003e\u003cp\u003eFor example:\u003c/p\u003e\u003cul\u003e\u003cli\u003eIf you are given 27, your script should output 3, as 27+3=30. Both 3 and 0 have horizontal symmetry.\u003c/li\u003e\u003cli\u003eIf you are given 801, your script should output 0, as 801+0=801. 8, 0 and 1 are all horizontally symmetric.\u003c/li\u003e\u003cli\u003eIf you are given 900, your answer should be 100, as 900+100=1000, which is the next highest number that is horizontally symmetric.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eGood luck. May you become a poet, and not even know it.\u003c/p\u003e","function_template":"function y = symmetry(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nassert(isequal(symmetry(27),3))\r\n%%\r\nassert(isequal(symmetry(801),0))\r\n%%\r\nassert(isequal(symmetry(900),100))\r\n%%\r\nassert(isequal(symmetry(88887),1))\r\n%%\r\nassert(isequal(symmetry(1234567),65433))\r\n%%\r\nassert(isequal(symmetry(34567890),3432110))\r\n%%\r\nformat long g\r\nx=ceil(1e9*rand);\r\nj=389e9+x\r\nassert(isequal(8e11-symmetry(j),j))\r\n%%\r\nformat long g\r\nx=ceil(1e10*rand);\r\nj=889e10+x\r\nv=symmetry(j);\r\nassert(isequal(1e13-v,j))\r\n%%\r\nx=2^40-1;\r\nassert(isequal(symmetry(symmetry(symmetry(symmetry(x)))),7775))","published":true,"deleted":false,"likes_count":10,"comments_count":6,"created_by":1615,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":79,"test_suite_updated_at":"2015-05-22T12:38:06.000Z","rescore_all_solutions":false,"group_id":45,"created_at":"2015-05-20T19:03:13.000Z","updated_at":"2026-04-24T15:44:21.000Z","published_at":"2015-05-20T19:09: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=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ Coder Coder, typing fast\\n Sitting at your desk, aghast.\\n What immortal MATLAB script\\n will solve this problem, nice and quick?]]\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\u003eYou are given a number. Your task is to write a MATLAB script that will calculate the smallest positive number you need to add to your original number so that each digit in your sum will have horizontal symmetry. For this problem, those numbers are [0 1 3 8]\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 example:\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\u003eIf you are given 27, your script should output 3, as 27+3=30. Both 3 and 0 have horizontal symmetry.\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\u003eIf you are given 801, your script should output 0, as 801+0=801. 8, 0 and 1 are all horizontally symmetric.\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\u003eIf you are given 900, your answer should be 100, as 900+100=1000, which is the next highest number that is horizontally symmetric.\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\u003eGood luck. May you become a poet, and not even know it.\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":61190,"title":"Filled Diamond Pattern","description":"Create an N×N binary matrix that forms a filled diamond shape centered in the matrix. The diamond expands symmetrically toward the center row and contracts afterward, creating a visually pleasing mandala-style pattern.\r\nExample (N = 5):\r\n11011\r\n10001\r\n00000\r\n10001\r\n11011","description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; 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: 222px; display: block; min-width: 0px; padding-block-start: 0px; padding-inline-start: 2px; padding-left: 2px; padding-top: 0px; perspective-origin: 407px 111px; transform-origin: 407px 111px; vertical-align: baseline; \"\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; padding-inline-start: 0px; padding-left: 0px; perspective-origin: 383px 21px; text-align: left; transform-origin: 383px 21px; 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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eCreate an N×N binary matrix that forms a filled diamond shape centered in the matrix. The diamond expands symmetrically toward the center row and contracts afterward, creating a visually pleasing mandala-style pattern.\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: 383px 10.5px; text-align: left; transform-origin: 383px 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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eExample (N = 5):\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: 383px 10.5px; text-align: left; transform-origin: 383px 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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e11011\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: 383px 10.5px; text-align: left; transform-origin: 383px 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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e10001\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: 383px 10.5px; text-align: left; transform-origin: 383px 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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e00000\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: 383px 10.5px; text-align: left; transform-origin: 383px 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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e10001\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: 383px 10.5px; text-align: left; transform-origin: 383px 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: 0px 0px; transform-origin: 0px 0px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e11011\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = filled_Diamond(N)\r\ny = zeros(N);\r\nend\r\n","test_suite":"%%\r\nN = 5;\r\nM5 = [1 1 0 1 1;\r\n      1 0 0 0 1;\r\n      0 0 0 0 0;\r\n      1 0 0 0 1;\r\n      1 1 0 1 1];\r\nassert(isequal(filled_Diamond(N),M5))\r\n\r\n%%\r\nN = 7;\r\nM7 = [1 1 1 0 1 1 1;\r\n      1 1 0 0 0 1 1;\r\n      1 0 0 0 0 0 1;\r\n      0 0 0 0 0 0 0;\r\n      1 0 0 0 0 0 1;\r\n      1 1 0 0 0 1 1;\r\n      1 1 1 0 1 1 1];\r\nassert(isequal(filled_Diamond(N),M7))\r\n\r\n%%\r\nN = 9;\r\nmid = 5;\r\n[x,y] = meshgrid(1:N);\r\nM9 = abs(x-mid)+abs(y-mid) \u003e mid-1;\r\nassert(isequal(filled_Diamond(N),M9))\r\n\r\n%%\r\nN = 11;\r\nmid = 6;\r\n[x,y] = meshgrid(1:N);\r\nM11 = abs(x-mid)+abs(y-mid) \u003e mid-1;\r\nassert(isequal(filled_Diamond(N),M11))\r\n\r\n","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":2305225,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":14,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2026-02-02T08:07:32.000Z","updated_at":"2026-04-09T10:17:57.000Z","published_at":"2026-02-02T08:07:32.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\u003eCreate an N×N binary matrix that forms a filled diamond shape centered in the matrix. The diamond expands symmetrically toward the center row and contracts afterward, creating a visually pleasing mandala-style pattern.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample (N = 5):\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\u003e11011\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\u003e10001\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\u003e00000\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\u003e10001\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\u003e11011\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":47895,"title":"List the dihedral primes","description":"The number 1880111 is a dihedral prime (or dihedral calculator prime) because on a seven-segment display it is prime (a) forward, (b) upside-down, (c) in a mirror, and (d) in a mirror upside-down. The number 120121 is the smallest dihedral prime that forms four different numbers read in those four ways. \r\nWrite a function to list the dihedral primes less than or equal to the input number. ","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: 93px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 46.5px; transform-origin: 407px 46.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 63px; 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 31.5px; text-align: left; transform-origin: 384px 31.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: 267.5px 8px; transform-origin: 267.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe number 1880111 is a dihedral prime (or dihedral calculator prime) because on a \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Seven-segment_display\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"\"\u003eseven-segment display\u003c/span\u003e\u003c/span\u003e\u003c/a\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: 44px 8px; transform-origin: 44px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e it is prime (a) forward, (b) upside-down, (c) in a mirror, and (d) in a mirror upside-down. The number 120121 is the smallest dihedral prime that forms four different numbers read in those four ways. \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: 256px 8px; transform-origin: 256px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to list the dihedral primes less than or equal to the input number. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = dihedralPrimes(n)\r\n  y = f(n);\r\nend","test_suite":"%%\r\nn = 10;\r\ny_correct = [2 5];\r\nassert(isequal(dihedralPrimes(n),y_correct))\r\n\r\n%%\r\nn = 100;\r\ny_correct = [2 5 11];\r\nassert(isequal(dihedralPrimes(n),y_correct))\r\n\r\n%%\r\nn = 1000;\r\ny_correct = [2 5 11 101 181];\r\nassert(isequal(dihedralPrimes(n),y_correct))\r\n\r\n%%\r\nn = 10000;\r\ny_correct = [2 5 11 101 181 1181 1811];\r\nassert(isequal(dihedralPrimes(n),y_correct))\r\n\r\n%%\r\nn = 100000;\r\ny_correct = [2 5 11 101 181 1181 1811 18181];\r\nassert(isequal(dihedralPrimes(n),y_correct))\r\n\r\n%%\r\nn = 1000000;\r\ny_correct = [2 5 11 101 181 1181 1811 18181 108881 110881 118081 120121 121021 121151 150151 151051 151121 180181 180811 181081 188011 188801];\r\nassert(isequal(dihedralPrimes(n),y_correct))\r\n\r\n%%\r\nn = 1e8;\r\ny = dihedralPrimes(n);\r\nyp_correct = [12552251 12585121 12815581 15128251 15225521 15282151 15525221 15812281 18001811 18010001 18011101 18088801 18110101 18111881 18188801 18201011 18221851 18288581 18501011 18551821 18588281 18811181 18881011 18888011];\r\nassert(isequal(y(91:114),yp_correct))\r\n\r\n%%\r\nfiletext = fileread('dihedralPrimes.m');\r\ncheating = ~isempty(strfind(filetext, 'urlread')) || ~isempty(strfind(filetext, 'oeis')) || ...\r\n    ~isempty(strfind(filetext, \"110881\")); %Added by Dyuman Joshi to disallow and prevent hard coded solutions\r\nassert(~cheating)","published":true,"deleted":false,"likes_count":2,"comments_count":1,"created_by":46909,"edited_by":223089,"edited_at":"2023-04-19T07:44:32.000Z","deleted_by":null,"deleted_at":null,"solvers_count":12,"test_suite_updated_at":"2023-04-19T07:44:32.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2020-12-11T14:07:22.000Z","updated_at":"2025-10-01T07:01:22.000Z","published_at":"2020-12-11T14:18:24.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\u003eThe number 1880111 is a dihedral prime (or dihedral calculator prime) because on a \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Seven-segment_display\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eseven-segment display\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e it is prime (a) forward, (b) upside-down, (c) in a mirror, and (d) in a mirror upside-down. The number 120121 is the smallest dihedral prime that forms four different numbers read in those four ways. \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\u003eWrite a function to list the dihedral primes less than or equal to the input number. \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":56468,"title":"IQpuzzler Preparation #1: Find all non-identical orientations of a matrix","description":"Return all non-identical orientations of a 2-D matrix that can be produced by rotating or flipping it.\r\nInput is an M-by-N matrix. You can assume integer values and no empty rows or columns.\r\nOutput is a 1-by-P cell array containing P unique M-by-N or N-by-M matrices.\r\nOrdering of the output matrices does not matter, as long as there are no repetitions.\r\nExample:\r\n{ [2 0;2 2] , [0 2;2 2] , [2 2;0 2], [2 2;2 0] } = rotflip2d([2 0;2 2])\r\nBackground:\r\nThis function will be useful for the IQpuzzler challenge on Cody.","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: 231px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 115.5px; transform-origin: 407px 115.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; 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: 299.525px 7.91667px; transform-origin: 299.525px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eReturn all non-identical orientations of a 2-D matrix that can be produced by rotating or flipping it.\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: 278.242px 7.91667px; transform-origin: 278.242px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eInput is an M-by-N matrix. You can assume integer values and no empty rows or columns.\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: 238.433px 7.91667px; transform-origin: 238.433px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eOutput is a 1-by-P cell array containing P unique M-by-N or N-by-M matrices.\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: 258.258px 7.91667px; transform-origin: 258.258px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eOrdering of the output matrices does not matter, as long as there are no repetitions.\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: 29.175px 7.91667px; transform-origin: 29.175px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eExample:\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: 188.017px 7.91667px; transform-origin: 188.017px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e{ [2 0;2 2] , [0 2;2 2] , [2 2;0 2], [2 2;2 0] } = rotflip2d([2 0;2 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: 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: 39.2917px 7.91667px; transform-origin: 39.2917px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eBackground:\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: 196.7px 7.91667px; transform-origin: 196.7px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis function will be useful for the IQpuzzler challenge on Cody.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function orientations = rotflip2d(piece)\r\n    orientations={piece};\r\nend","test_suite":"%%\r\npiece = 1;\r\no_correct = {1};\r\nassert(isequal(rotflip2d(piece),o_correct))\r\n\r\n%%\r\npiece = [1 1;1 1];\r\no_correct = {[1 1;1 1]};\r\nassert(isequal(rotflip2d(piece),o_correct))\r\n\r\n%%\r\npiece = [2 0;2 2];\r\no=rotflip2d(piece);\r\nassert(numel(o)==4);\r\nfor n=1:3\r\n    for m=n+1:4\r\n        assert(~isequal(o{n},o{m}));\r\n    end\r\nend\r\no_correct = {[2 0;2 2],[0 2;2 2],[2 2;0 2],[2 2;2 0]};\r\nfor n=1:4\r\n    f=false;\r\n    for m=1:4\r\n        if isequal(o{n},o_correct{m})\r\n            f=true;\r\n            break;\r\n        end\r\n    end\r\n    assert(f);\r\nend\r\n\r\n%%\r\npiece = [3 3;0 3;0 3];\r\no=rotflip2d(piece);\r\nassert(numel(o)==8);\r\nfor n=1:7\r\n    for m=n+1:8\r\n        assert(~isequal(o{n},o{m}));\r\n    end\r\nend\r\no_correct = {[3 3;0 3;0 3],[3 3;3 0;3 0],[0 3;0 3;3 3],[3 0;3 0;3 3],[3 3 3;0 0 3],[3 3 3;3 0 0],[3 0 0;3 3 3],[0 0 3;3 3 3]};\r\nfor n=1:8\r\n    f=false;\r\n    for m=1:8\r\n        if isequal(o{n},o_correct{m})\r\n            f=true;\r\n            break;\r\n        end\r\n    end\r\n    assert(f);\r\nend\r\n\r\n%%\r\npiece = [12 12 0 ; 0 12 12 ; 0 0 12];\r\no=rotflip2d(piece);\r\nassert(numel(o)==4);\r\nfor n=1:3\r\n    for m=n+1:4\r\n        assert(~isequal(o{n},o{m}));\r\n    end\r\nend\r\no_correct = {[12 12 0;0 12 12;0 0 12],[0 12 12;12 12 0;12 0 0],[12 0 0;12 12 0;0 12 12],[0 0 12;0 12 12;12 12 0]};\r\nfor n=1:4\r\n    f=false;\r\n    for m=1:4\r\n        if isequal(o{n},o_correct{m})\r\n            f=true;\r\n            break;\r\n        end\r\n    end\r\n    assert(f);\r\nend","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":2414210,"edited_by":2414210,"edited_at":"2022-11-22T06:34:56.000Z","deleted_by":null,"deleted_at":null,"solvers_count":4,"test_suite_updated_at":"2022-11-07T15:25:43.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2022-11-07T15:19:15.000Z","updated_at":"2022-11-22T06:34:56.000Z","published_at":"2022-11-07T15:25:43.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\u003eReturn all non-identical orientations of a 2-D matrix that can be produced by rotating or flipping it.\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\u003eInput is an M-by-N matrix. You can assume integer values and no empty rows or columns.\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\u003eOutput is a 1-by-P cell array containing P unique M-by-N or N-by-M matrices.\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\u003eOrdering of the output matrices does not matter, as long as there are no repetitions.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eExample:\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{ [2 0;2 2] , [0 2;2 2] , [2 2;0 2], [2 2;2 0] } = rotflip2d([2 0;2 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\u003eBackground:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis function will be useful for the IQpuzzler challenge on Cody.\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":42323,"title":"With apologies to William Blake","description":"\r\n Coder Coder, typing fast\r\n Sitting at your desk, aghast.\r\n What immortal MATLAB script\r\n will solve this problem, nice and quick?\r\n\r\nYou are given a number. Your task is to write a MATLAB script that will calculate the smallest positive number you need to add to your original number so that each digit in your sum will have horizontal symmetry. For this problem, those numbers are [0 1 3 8]\r\n\r\nFor example:\r\n\r\n*     If you are given 27, your script should output 3, as 27+3=30. Both 3 and 0 have horizontal symmetry.\r\n*     If you are given 801, your script should output 0, as 801+0=801. 8, 0 and 1 are all horizontally symmetric.\r\n*     If you are given 900, your answer should be 100, as 900+100=1000, which is the next highest number that is horizontally symmetric.\r\n\r\nGood luck. May you become a poet, and not even know it.\r\n","description_html":"\u003cpre\u003e Coder Coder, typing fast\r\n Sitting at your desk, aghast.\r\n What immortal MATLAB script\r\n will solve this problem, nice and quick?\u003c/pre\u003e\u003cp\u003eYou are given a number. Your task is to write a MATLAB script that will calculate the smallest positive number you need to add to your original number so that each digit in your sum will have horizontal symmetry. For this problem, those numbers are [0 1 3 8]\u003c/p\u003e\u003cp\u003eFor example:\u003c/p\u003e\u003cul\u003e\u003cli\u003eIf you are given 27, your script should output 3, as 27+3=30. Both 3 and 0 have horizontal symmetry.\u003c/li\u003e\u003cli\u003eIf you are given 801, your script should output 0, as 801+0=801. 8, 0 and 1 are all horizontally symmetric.\u003c/li\u003e\u003cli\u003eIf you are given 900, your answer should be 100, as 900+100=1000, which is the next highest number that is horizontally symmetric.\u003c/li\u003e\u003c/ul\u003e\u003cp\u003eGood luck. May you become a poet, and not even know it.\u003c/p\u003e","function_template":"function y = symmetry(x)\r\n  y = x;\r\nend","test_suite":"%%\r\nassert(isequal(symmetry(27),3))\r\n%%\r\nassert(isequal(symmetry(801),0))\r\n%%\r\nassert(isequal(symmetry(900),100))\r\n%%\r\nassert(isequal(symmetry(88887),1))\r\n%%\r\nassert(isequal(symmetry(1234567),65433))\r\n%%\r\nassert(isequal(symmetry(34567890),3432110))\r\n%%\r\nformat long g\r\nx=ceil(1e9*rand);\r\nj=389e9+x\r\nassert(isequal(8e11-symmetry(j),j))\r\n%%\r\nformat long g\r\nx=ceil(1e10*rand);\r\nj=889e10+x\r\nv=symmetry(j);\r\nassert(isequal(1e13-v,j))\r\n%%\r\nx=2^40-1;\r\nassert(isequal(symmetry(symmetry(symmetry(symmetry(x)))),7775))","published":true,"deleted":false,"likes_count":10,"comments_count":6,"created_by":1615,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":79,"test_suite_updated_at":"2015-05-22T12:38:06.000Z","rescore_all_solutions":false,"group_id":45,"created_at":"2015-05-20T19:03:13.000Z","updated_at":"2026-04-24T15:44:21.000Z","published_at":"2015-05-20T19:09: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=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[ Coder Coder, typing fast\\n Sitting at your desk, aghast.\\n What immortal MATLAB script\\n will solve this problem, nice and quick?]]\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\u003eYou are given a number. Your task is to write a MATLAB script that will calculate the smallest positive number you need to add to your original number so that each digit in your sum will have horizontal symmetry. For this problem, those numbers are [0 1 3 8]\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 example:\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\u003eIf you are given 27, your script should output 3, as 27+3=30. Both 3 and 0 have horizontal symmetry.\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\u003eIf you are given 801, your script should output 0, as 801+0=801. 8, 0 and 1 are all horizontally symmetric.\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\u003eIf you are given 900, your answer should be 100, as 900+100=1000, which is the next highest number that is horizontally symmetric.\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\u003eGood luck. May you become a poet, and not even know it.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"term":"tag:\"symmetry\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"symmetry\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"symmetry\"","","\"","symmetry","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f0025dee618\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f0025dee438\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f0025dea338\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f0025deebb8\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f0025deeb18\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f0025dee9d8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f0025dee938\u003e":"tag:\"symmetry\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f0025dee938\u003e":"tag:\"symmetry\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"cody-search","password":"78X075ddcV44","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"symmetry\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"symmetry\"","","\"","symmetry","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f0025dee618\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f0025dee438\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f0025dea338\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f0025deebb8\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f0025deeb18\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f0025dee9d8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f0025dee938\u003e":"tag:\"symmetry\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f0025dee938\u003e":"tag:\"symmetry\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":61190,"difficulty_rating":"easy"},{"id":47895,"difficulty_rating":"medium"},{"id":56468,"difficulty_rating":"medium"},{"id":42323,"difficulty_rating":"medium-hard"}]}}