{"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":46633,"title":"Montgomery Reduction Algorithm (REDC)","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 21px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 10.5px; transform-origin: 407px 10.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGiven a matrix of input numbers T, R, and N such that gcd(R,N)=1 and 0 \u0026lt;= T \u0026lt; R*N, output the Montgomery reduction of T.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function t = REDC(T,R,N)\r\nt=T*R/N;\r\nend","test_suite":"%%\r\nR=2.^[12:22];\r\nN=primes(3329);\r\nN=N(end-10:end);\r\n[R,N]=meshgrid(R,N);\r\nT =[     245        2125        3406        4031        1103        2731        1888         927        2393         733        2175\r\n        2794        3986        3291         685        1732         730        4021        1576         442        1733        2681\r\n         174        2659         248         436        2245         525         641        2388        3713         386        1670\r\n         293        3279        1636        1526        3862        4093        3505        1032        3604        2452        3359\r\n        2137        1859        2159         812        1712         701        2641        1190        3350        1929        2943\r\n         397        1772        1708        2006        4027         134        1542        2528        1068        2851        3968\r\n        3352        3381        2691        1391        1235        2299         783        1087        2435        2867        2177\r\n        3349         342        2573        3898        2872        3613        1755        3377          93        2616        1332\r\n        2960         546        1196        3770        2730        2741        1975        4025        1742         138         433\r\n         614         711        1769         216        2209         781         495        2992        1281         282        2503\r\n        2702        1602          64        3023        2860        1512        2415        1409         662        1310        3190];\r\nt =[     965        2824         466         632        1786         471          83        3114        3135        2021        1616\r\n        3008         903        1415         316        2406        3151         239        2361         949         663          74\r\n         374        1378         845        2346        1114         994         433        2825        3084        3120        2190\r\n         266        2482         282        1831        1556        2344          71        1834        3139        1400        3056\r\n        1944        2255        2061        2374         650        1006        2248        1547         528        2029         437\r\n          96        2426         968        2447        1649        1057        1278         354          80        1986        1323\r\n        3043        2649         683        1846        2303        2169        1003        2582        2390         694         816\r\n        2818        1790          59        2204        1259        1217        2483        2892        3033         978         173\r\n         636        1615        2401        1800        2254        2757         897         809        1943        3013          25\r\n         349          37         913         129        1375        3105        1335        2927         184        1530          38\r\n        2382        2054        3316        3100         635        1262        2996        2717        2415        2133        3118];\r\nassert(isequal(REDC(T,R,N),t))\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":145982,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-09-30T19:14:40.000Z","updated_at":"2025-12-28T03:59:49.000Z","published_at":"2020-09-30T19:14:40.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven a matrix of input numbers T, R, and N such that gcd(R,N)=1 and 0 \u0026lt;= T \u0026lt; R*N, output the Montgomery reduction of T.\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":46633,"title":"Montgomery Reduction Algorithm (REDC)","description":null,"description_html":"\u003cdiv style = \"text-align: start; line-height: 20.44px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, monospace; font-style: normal; font-size: 14px; font-weight: 400; text-decoration: none solid rgb(0, 0, 0); white-space: normal; \"\u003e\u003cdiv style=\"block-size: 21px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 10.5px; transform-origin: 407px 10.5px; vertical-align: baseline; \"\u003e\u003cdiv style=\"font-family: Helvetica, Arial, sans-serif; line-height: 21px; margin-block-end: 9px; margin-block-start: 2px; margin-bottom: 9px; margin-inline-end: 10px; margin-inline-start: 4px; margin-left: 4px; margin-right: 10px; margin-top: 2px; perspective-origin: 384px 10.5px; text-align: left; transform-origin: 384px 10.5px; white-space: pre-wrap; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cspan style=\"block-size: auto; display: inline; margin-block-end: 0px; margin-block-start: 0px; margin-bottom: 0px; margin-inline-end: 0px; margin-inline-start: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; perspective-origin: 0px 0px; transform-origin: 0px 0px; \"\u003e\u003cspan style=\"\"\u003eGiven a matrix of input numbers T, R, and N such that gcd(R,N)=1 and 0 \u0026lt;= T \u0026lt; R*N, output the Montgomery reduction of T.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function t = REDC(T,R,N)\r\nt=T*R/N;\r\nend","test_suite":"%%\r\nR=2.^[12:22];\r\nN=primes(3329);\r\nN=N(end-10:end);\r\n[R,N]=meshgrid(R,N);\r\nT =[     245        2125        3406        4031        1103        2731        1888         927        2393         733        2175\r\n        2794        3986        3291         685        1732         730        4021        1576         442        1733        2681\r\n         174        2659         248         436        2245         525         641        2388        3713         386        1670\r\n         293        3279        1636        1526        3862        4093        3505        1032        3604        2452        3359\r\n        2137        1859        2159         812        1712         701        2641        1190        3350        1929        2943\r\n         397        1772        1708        2006        4027         134        1542        2528        1068        2851        3968\r\n        3352        3381        2691        1391        1235        2299         783        1087        2435        2867        2177\r\n        3349         342        2573        3898        2872        3613        1755        3377          93        2616        1332\r\n        2960         546        1196        3770        2730        2741        1975        4025        1742         138         433\r\n         614         711        1769         216        2209         781         495        2992        1281         282        2503\r\n        2702        1602          64        3023        2860        1512        2415        1409         662        1310        3190];\r\nt =[     965        2824         466         632        1786         471          83        3114        3135        2021        1616\r\n        3008         903        1415         316        2406        3151         239        2361         949         663          74\r\n         374        1378         845        2346        1114         994         433        2825        3084        3120        2190\r\n         266        2482         282        1831        1556        2344          71        1834        3139        1400        3056\r\n        1944        2255        2061        2374         650        1006        2248        1547         528        2029         437\r\n          96        2426         968        2447        1649        1057        1278         354          80        1986        1323\r\n        3043        2649         683        1846        2303        2169        1003        2582        2390         694         816\r\n        2818        1790          59        2204        1259        1217        2483        2892        3033         978         173\r\n         636        1615        2401        1800        2254        2757         897         809        1943        3013          25\r\n         349          37         913         129        1375        3105        1335        2927         184        1530          38\r\n        2382        2054        3316        3100         635        1262        2996        2717        2415        2133        3118];\r\nassert(isequal(REDC(T,R,N),t))\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":0,"created_by":145982,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":5,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2020-09-30T19:14:40.000Z","updated_at":"2025-12-28T03:59:49.000Z","published_at":"2020-09-30T19:14:40.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGiven a matrix of input numbers T, R, and N such that gcd(R,N)=1 and 0 \u0026lt;= T \u0026lt; R*N, output the Montgomery reduction of T.\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:\"montgomery reduction\"","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:\"montgomery reduction\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"montgomery reduction\"","","\"","montgomery reduction","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fa2bf5133f8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fa2bf513358\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fa2bf512458\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fa2bf513678\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fa2bf5135d8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fa2bf513538\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fa2bf513498\u003e":"tag:\"montgomery reduction\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fa2bf513498\u003e":"tag:\"montgomery reduction\""},"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:\"montgomery reduction\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"montgomery reduction\"","","\"","montgomery reduction","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fa2bf5133f8\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fa2bf513358\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fa2bf512458\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fa2bf513678\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fa2bf5135d8\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fa2bf513538\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fa2bf513498\u003e":"tag:\"montgomery reduction\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fa2bf513498\u003e":"tag:\"montgomery reduction\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":46633,"difficulty_rating":"medium"}]}}