{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2025-12-14T01:33:56.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":"2025-12-14T00: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":2635,"title":"Higher!  Lower!","description":"My kids have started to play the \"I'm thinking of a number between X and Y\" game in the car on trips to and from their swim lessons. I'm trying to teach them the best way to arrive at the correct answer, so I could use a little MATLAB help here to show them what to do...\r\nUsing the bisection method (split X and Y, round down if there's a remainder), guess what the number is. Your output should be all of guesses it took for you to get to that number, with the last number in that trail being the number that I'm thinking of.\r\nFor example, I'm thinking of a number (8) between 1 and 10.\r\nFirst guess is (1+10)/2 rounded down, or 5. Five is lower than 8, so your next guess should be (5+10)/2, rounding down to 7. Seven is lower than 8, so your next guess should be (7+10)/2, rounding down to 8.\r\nSince this is the correct answer, your output should be [5 7 8].\r\nThe input to the function will be the low bound, the high bound, and the number I'm thinking of. You can assume that they're not cheating, and that the correct answer will be between the high and low bounds. The answer can be equal to the high or low bound, however.","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: 318px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 159px; transform-origin: 407px 159px; 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: 369.5px 8px; transform-origin: 369.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eMy kids have started to play the \"I'm thinking of a number between X and Y\" game in the car on trips to and from their swim lessons. I'm trying to teach them the best way to arrive at the correct answer, so I could use a little MATLAB help here to show them what to do...\u003c/span\u003e\u003c/span\u003e\u003c/div\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: 367px 8px; transform-origin: 367px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eUsing the bisection method (split X and Y, round down if there's a remainder), guess what the number is. Your output should be all of guesses it took for you to get to that number, with the last number in that trail being the number that I'm thinking of.\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: 189.5px 8px; transform-origin: 189.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor example, I'm thinking of a number (8) between 1 and 10.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFirst guess is (1+10)/2 rounded down, or 5. Five is lower than 8, so your next guess should be (5+10)/2, rounding down to 7. Seven is lower than 8, so your next guess should be (7+10)/2, rounding down to 8.\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: 194.5px 8px; transform-origin: 194.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eSince this is the correct answer, your output should be [5 7 8].\u003c/span\u003e\u003c/span\u003e\u003c/div\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: 366.5px 8px; transform-origin: 366.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe input to the function will be the low bound, the high bound, and the number I'm thinking of. You can assume that they're not cheating, and that the correct answer will be between the high and low bounds. The answer can be equal to the high or low bound, however.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function trail=high_or_low(lo_bound,hi_bound,right_answer)\r\n  trail=lo_bound;\r\nend","test_suite":"%%\r\nhi_bound=10; lo_bound=1; right_answer=8;\r\nassert(isequal(high_or_low(lo_bound,hi_bound,right_answer), [5 7 8]))\r\n%%\r\nhi_bound=1024; lo_bound=1; right_answer=512;\r\nassert(isequal(high_or_low(lo_bound,hi_bound,right_answer), 512))\r\n%%\r\nhi_bound=1024; lo_bound=1; right_answer=513;\r\nassert(isequal(high_or_low(lo_bound,hi_bound,right_answer), [512   768   640   576   544   528   520   516   514   513]))\r\n%%\r\nhi_bound=0; lo_bound=-16; right_answer=-3;\r\nassert(isequal(high_or_low(lo_bound,hi_bound,right_answer), [ -8 -4 -2 -3]))\r\n%%\r\nhi_bound=1024; lo_bound=1; right_answer=1024;\r\nassert(isequal(high_or_low(lo_bound,hi_bound,right_answer), [512 768 896 960 992 1008 1016 1020 1022 1023 1024]))\r\n%%\r\nhi_bound=2048; lo_bound=0; right_answer=0;\r\nassert(isequal(high_or_low(lo_bound,hi_bound,right_answer), [1024 512 256 128 64 32 16 8 4 2 1 0]))\r\n%%\r\nhi_bound=65535; lo_bound=0; right_answer=1024;\r\nassert(isequal(high_or_low(lo_bound,hi_bound,right_answer), [32767 16383 8191 4095 2047 1023 1535 1279 1151 1087 1055 1039 1031 1027 1025 1024]))\r\n%%\r\nhi_bound=1; lo_bound=0; right_answer=1;\r\nassert(isequal(high_or_low(lo_bound,hi_bound,right_answer), [0 1]))\r\n","published":true,"deleted":false,"likes_count":3,"comments_count":8,"created_by":1615,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":40,"test_suite_updated_at":"2022-02-20T09:38:40.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2014-10-17T16:30:24.000Z","updated_at":"2025-11-30T21:14:10.000Z","published_at":"2014-10-17T16:30:24.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMy kids have started to play the \\\"I'm thinking of a number between X and Y\\\" game in the car on trips to and from their swim lessons. I'm trying to teach them the best way to arrive at the correct answer, so I could use a little MATLAB help here to show them what to do...\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\u003eUsing the bisection method (split X and Y, round down if there's a remainder), guess what the number is. Your output should be all of guesses it took for you to get to that number, with the last number in that trail being the number that I'm thinking of.\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\u003eFor example, I'm thinking of a number (8) between 1 and 10.\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\u003eFirst guess is (1+10)/2 rounded down, or 5. Five is lower than 8, so your next guess should be (5+10)/2, rounding down to 7. Seven is lower than 8, so your next guess should be (7+10)/2, rounding down to 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSince this is the correct answer, your output should be [5 7 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe input to the function will be the low bound, the high bound, and the number I'm thinking of. You can assume that they're not cheating, and that the correct answer will be between the high and low bounds. The answer can be equal to the high or low bound, however.\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\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":2635,"title":"Higher!  Lower!","description":"My kids have started to play the \"I'm thinking of a number between X and Y\" game in the car on trips to and from their swim lessons. I'm trying to teach them the best way to arrive at the correct answer, so I could use a little MATLAB help here to show them what to do...\r\nUsing the bisection method (split X and Y, round down if there's a remainder), guess what the number is. Your output should be all of guesses it took for you to get to that number, with the last number in that trail being the number that I'm thinking of.\r\nFor example, I'm thinking of a number (8) between 1 and 10.\r\nFirst guess is (1+10)/2 rounded down, or 5. Five is lower than 8, so your next guess should be (5+10)/2, rounding down to 7. Seven is lower than 8, so your next guess should be (7+10)/2, rounding down to 8.\r\nSince this is the correct answer, your output should be [5 7 8].\r\nThe input to the function will be the low bound, the high bound, and the number I'm thinking of. You can assume that they're not cheating, and that the correct answer will be between the high and low bounds. The answer can be equal to the high or low bound, however.","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: 318px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 159px; transform-origin: 407px 159px; 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: 369.5px 8px; transform-origin: 369.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eMy kids have started to play the \"I'm thinking of a number between X and Y\" game in the car on trips to and from their swim lessons. I'm trying to teach them the best way to arrive at the correct answer, so I could use a little MATLAB help here to show them what to do...\u003c/span\u003e\u003c/span\u003e\u003c/div\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: 367px 8px; transform-origin: 367px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eUsing the bisection method (split X and Y, round down if there's a remainder), guess what the number is. Your output should be all of guesses it took for you to get to that number, with the last number in that trail being the number that I'm thinking of.\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: 189.5px 8px; transform-origin: 189.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFor example, I'm thinking of a number (8) between 1 and 10.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42px; font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 21px; text-align: left; transform-origin: 384px 21px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 384px 8px; transform-origin: 384px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eFirst guess is (1+10)/2 rounded down, or 5. Five is lower than 8, so your next guess should be (5+10)/2, rounding down to 7. Seven is lower than 8, so your next guess should be (7+10)/2, rounding down to 8.\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: 194.5px 8px; transform-origin: 194.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eSince this is the correct answer, your output should be [5 7 8].\u003c/span\u003e\u003c/span\u003e\u003c/div\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: 366.5px 8px; transform-origin: 366.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThe input to the function will be the low bound, the high bound, and the number I'm thinking of. You can assume that they're not cheating, and that the correct answer will be between the high and low bounds. The answer can be equal to the high or low bound, however.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function trail=high_or_low(lo_bound,hi_bound,right_answer)\r\n  trail=lo_bound;\r\nend","test_suite":"%%\r\nhi_bound=10; lo_bound=1; right_answer=8;\r\nassert(isequal(high_or_low(lo_bound,hi_bound,right_answer), [5 7 8]))\r\n%%\r\nhi_bound=1024; lo_bound=1; right_answer=512;\r\nassert(isequal(high_or_low(lo_bound,hi_bound,right_answer), 512))\r\n%%\r\nhi_bound=1024; lo_bound=1; right_answer=513;\r\nassert(isequal(high_or_low(lo_bound,hi_bound,right_answer), [512   768   640   576   544   528   520   516   514   513]))\r\n%%\r\nhi_bound=0; lo_bound=-16; right_answer=-3;\r\nassert(isequal(high_or_low(lo_bound,hi_bound,right_answer), [ -8 -4 -2 -3]))\r\n%%\r\nhi_bound=1024; lo_bound=1; right_answer=1024;\r\nassert(isequal(high_or_low(lo_bound,hi_bound,right_answer), [512 768 896 960 992 1008 1016 1020 1022 1023 1024]))\r\n%%\r\nhi_bound=2048; lo_bound=0; right_answer=0;\r\nassert(isequal(high_or_low(lo_bound,hi_bound,right_answer), [1024 512 256 128 64 32 16 8 4 2 1 0]))\r\n%%\r\nhi_bound=65535; lo_bound=0; right_answer=1024;\r\nassert(isequal(high_or_low(lo_bound,hi_bound,right_answer), [32767 16383 8191 4095 2047 1023 1535 1279 1151 1087 1055 1039 1031 1027 1025 1024]))\r\n%%\r\nhi_bound=1; lo_bound=0; right_answer=1;\r\nassert(isequal(high_or_low(lo_bound,hi_bound,right_answer), [0 1]))\r\n","published":true,"deleted":false,"likes_count":3,"comments_count":8,"created_by":1615,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":40,"test_suite_updated_at":"2022-02-20T09:38:40.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2014-10-17T16:30:24.000Z","updated_at":"2025-11-30T21:14:10.000Z","published_at":"2014-10-17T16:30:24.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eMy kids have started to play the \\\"I'm thinking of a number between X and Y\\\" game in the car on trips to and from their swim lessons. I'm trying to teach them the best way to arrive at the correct answer, so I could use a little MATLAB help here to show them what to do...\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\u003eUsing the bisection method (split X and Y, round down if there's a remainder), guess what the number is. Your output should be all of guesses it took for you to get to that number, with the last number in that trail being the number that I'm thinking of.\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\u003eFor example, I'm thinking of a number (8) between 1 and 10.\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\u003eFirst guess is (1+10)/2 rounded down, or 5. Five is lower than 8, so your next guess should be (5+10)/2, rounding down to 7. Seven is lower than 8, so your next guess should be (7+10)/2, rounding down to 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eSince this is the correct answer, your output should be [5 7 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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThe input to the function will be the low bound, the high bound, and the number I'm thinking of. You can assume that they're not cheating, and that the correct answer will be between the high and low bounds. The answer can be equal to the high or low bound, however.\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\"}]}"}],"term":"tag:\"bisection\"","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:\"bisection\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"bisection\"","","\"","bisection","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fac45d45640\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fac45d455a0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fac45d44ce0\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fac45d45c80\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fac45d45aa0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fac45d45a00\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fac45d45820\u003e":"tag:\"bisection\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fac45d45820\u003e":"tag:\"bisection\""},"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":"search","password":"J3bGPZzQ7asjJcCk","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:\"bisection\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"bisection\"","","\"","bisection","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fac45d45640\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fac45d455a0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fac45d44ce0\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fac45d45c80\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fac45d45aa0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fac45d45a00\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fac45d45820\u003e":"tag:\"bisection\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fac45d45820\u003e":"tag:\"bisection\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":2635,"difficulty_rating":"medium"}]}}