{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-16T00:12:35.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2026-04-16T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":44637,"title":"Still more miles to go before I sleep","description":"It's time for more odometer fun.  Last problem, my car's odometer hit 56789.  It's coming up on 111111 now, which (barring a major miracle) will be the last binary number to ever show up on the odometer.  You will be given two numbers - an odometer reading, and a number base.  Calculate the number of miles your car will need to travel in order to show the next number that is valid in that base.  If your odometer reading is already a valid number in that base, return 0.\r\n\r\nFor example, your input is an odometer reading of 12341 with a number base of 4.  The next odometer reading that would be valid in base 4 is 13000, so the correct answer would be 13000-12341, or 659.\r\n\r\nYou can assume that the odometer reading is in base 10, the input is numerical and not a string, all numbers will be positive integers, and that your car will last that long without getting read-ended at a stop-light.  Happy driving!","description_html":"\u003cp\u003eIt's time for more odometer fun.  Last problem, my car's odometer hit 56789.  It's coming up on 111111 now, which (barring a major miracle) will be the last binary number to ever show up on the odometer.  You will be given two numbers - an odometer reading, and a number base.  Calculate the number of miles your car will need to travel in order to show the next number that is valid in that base.  If your odometer reading is already a valid number in that base, return 0.\u003c/p\u003e\u003cp\u003eFor example, your input is an odometer reading of 12341 with a number base of 4.  The next odometer reading that would be valid in base 4 is 13000, so the correct answer would be 13000-12341, or 659.\u003c/p\u003e\u003cp\u003eYou can assume that the odometer reading is in base 10, the input is numerical and not a string, all numbers will be positive integers, and that your car will last that long without getting read-ended at a stop-light.  Happy driving!\u003c/p\u003e","function_template":"function y = miles2(r,b)\r\n  y = dec2base(r,b);\r\nend","test_suite":"%%\r\nr=12341;b=4;\r\nassert(isequal(miles2(r,b),659))\r\n%%\r\nr=12341;b=2;\r\nassert(isequal(miles2(r,b),87659))\r\n%%\r\nr=12331;b=4;\r\nassert(isequal(miles2(r,b),0))\r\n%%\r\nr=455555;b=5;\r\nassert(isequal(miles2(r,b),544445))\r\n%%\r\nr=23907515;b=5;\r\nassert(isequal(miles2(r,b),92485))\r\n%%\r\nr=23807515;b=8;\r\nassert(isequal(miles2(r,b),192485))\r\n%%\r\ns=zeros(1,10);\r\nfor b=2:10\r\n    s(b)=miles2(123456789,b);\r\nend\r\nassert(isequal(sum(s),960219488))\r\n%%\r\ns=zeros(200,10);\r\nfor b=2:10\r\n    for r=1:200\r\n        s(r,b)=miles2(r,b);\r\n    end\r\nend\r\nassert(isequal(sum(s(:)),96940))","published":true,"deleted":false,"likes_count":7,"comments_count":0,"created_by":1615,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":55,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2018-05-14T13:42:15.000Z","updated_at":"2026-03-20T13:46:45.000Z","published_at":"2018-05-14T13:42:15.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIt's time for more odometer fun. Last problem, my car's odometer hit 56789. It's coming up on 111111 now, which (barring a major miracle) will be the last binary number to ever show up on the odometer. You will be given two numbers - an odometer reading, and a number base. Calculate the number of miles your car will need to travel in order to show the next number that is valid in that base. If your odometer reading is already a valid number in that base, return 0.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, your input is an odometer reading of 12341 with a number base of 4. The next odometer reading that would be valid in base 4 is 13000, so the correct answer would be 13000-12341, or 659.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou can assume that the odometer reading is in base 10, the input is numerical and not a string, all numbers will be positive integers, and that your car will last that long without getting read-ended at a stop-light. Happy driving!\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":44637,"title":"Still more miles to go before I sleep","description":"It's time for more odometer fun.  Last problem, my car's odometer hit 56789.  It's coming up on 111111 now, which (barring a major miracle) will be the last binary number to ever show up on the odometer.  You will be given two numbers - an odometer reading, and a number base.  Calculate the number of miles your car will need to travel in order to show the next number that is valid in that base.  If your odometer reading is already a valid number in that base, return 0.\r\n\r\nFor example, your input is an odometer reading of 12341 with a number base of 4.  The next odometer reading that would be valid in base 4 is 13000, so the correct answer would be 13000-12341, or 659.\r\n\r\nYou can assume that the odometer reading is in base 10, the input is numerical and not a string, all numbers will be positive integers, and that your car will last that long without getting read-ended at a stop-light.  Happy driving!","description_html":"\u003cp\u003eIt's time for more odometer fun.  Last problem, my car's odometer hit 56789.  It's coming up on 111111 now, which (barring a major miracle) will be the last binary number to ever show up on the odometer.  You will be given two numbers - an odometer reading, and a number base.  Calculate the number of miles your car will need to travel in order to show the next number that is valid in that base.  If your odometer reading is already a valid number in that base, return 0.\u003c/p\u003e\u003cp\u003eFor example, your input is an odometer reading of 12341 with a number base of 4.  The next odometer reading that would be valid in base 4 is 13000, so the correct answer would be 13000-12341, or 659.\u003c/p\u003e\u003cp\u003eYou can assume that the odometer reading is in base 10, the input is numerical and not a string, all numbers will be positive integers, and that your car will last that long without getting read-ended at a stop-light.  Happy driving!\u003c/p\u003e","function_template":"function y = miles2(r,b)\r\n  y = dec2base(r,b);\r\nend","test_suite":"%%\r\nr=12341;b=4;\r\nassert(isequal(miles2(r,b),659))\r\n%%\r\nr=12341;b=2;\r\nassert(isequal(miles2(r,b),87659))\r\n%%\r\nr=12331;b=4;\r\nassert(isequal(miles2(r,b),0))\r\n%%\r\nr=455555;b=5;\r\nassert(isequal(miles2(r,b),544445))\r\n%%\r\nr=23907515;b=5;\r\nassert(isequal(miles2(r,b),92485))\r\n%%\r\nr=23807515;b=8;\r\nassert(isequal(miles2(r,b),192485))\r\n%%\r\ns=zeros(1,10);\r\nfor b=2:10\r\n    s(b)=miles2(123456789,b);\r\nend\r\nassert(isequal(sum(s),960219488))\r\n%%\r\ns=zeros(200,10);\r\nfor b=2:10\r\n    for r=1:200\r\n        s(r,b)=miles2(r,b);\r\n    end\r\nend\r\nassert(isequal(sum(s(:)),96940))","published":true,"deleted":false,"likes_count":7,"comments_count":0,"created_by":1615,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":55,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2018-05-14T13:42:15.000Z","updated_at":"2026-03-20T13:46:45.000Z","published_at":"2018-05-14T13:42:15.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIt's time for more odometer fun. Last problem, my car's odometer hit 56789. It's coming up on 111111 now, which (barring a major miracle) will be the last binary number to ever show up on the odometer. You will be given two numbers - an odometer reading, and a number base. Calculate the number of miles your car will need to travel in order to show the next number that is valid in that base. If your odometer reading is already a valid number in that base, return 0.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor example, your input is an odometer reading of 12341 with a number base of 4. The next odometer reading that would be valid in base 4 is 13000, so the correct answer would be 13000-12341, or 659.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou can assume that the odometer reading is in base 10, the input is numerical and not a string, all numbers will be positive integers, and that your car will last that long without getting read-ended at a stop-light. Happy driving!\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:\"number bases\"","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:\"number bases\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"number bases\"","","\"","number bases","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f2f423b50b0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f2f423b5010\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f2f423b4750\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f2f423b5330\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f2f423b5290\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f2f423b51f0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f2f423b5150\u003e":"tag:\"number bases\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f2f423b5150\u003e":"tag:\"number bases\""},"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:\"number bases\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"number bases\"","","\"","number bases","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f2f423b50b0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f2f423b5010\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f2f423b4750\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f2f423b5330\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f2f423b5290\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f2f423b51f0\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f2f423b5150\u003e":"tag:\"number bases\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f2f423b5150\u003e":"tag:\"number bases\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":44637,"difficulty_rating":"medium"}]}}