{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2026-04-06T14:01:22.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-06T00: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":51274,"title":"Solve a nonlinear difference equation","description":null,"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: 95.75px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 47.875px; transform-origin: 407px 47.875px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 44.5px; 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 22.25px; text-align: left; transform-origin: 384px 22.25px; 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: 102.967px 7.91667px; transform-origin: 102.967px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eConsider the difference equation \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-8px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHkAAAAsCAYAAABBuRcNAAADMUlEQVR4nO2a7dGCMBCEtwc6oAEboAIqsAM6oANboAZLsAdbsAZb4P2R7OTeE+RTEd1nhlEjYGCzd5cgIIQQQgghhBBCCCHETsgAFPE1j+8Pm/ZIrEYBoAHQArgDOAE4x62Nn8UXUCCJXMS2zLTlG/VLrEiNbte2cZPIX8AVQUybg/PYdptzwgIh3l8BXOL7Mr5vkcKFmEeOkGN5fy8I9/eMEHprtz/D8tW1V5iRkzOkZF7Fz0AYPQwLd9O+N5jXlm7Vgj4w7DZIITZDcCPP701U4lFMe8xoMqSQ0HUR7MB5ykk/jK1FZoXc4NEojJK3ju94XNnRNjqqWoH7rL/GKP5lKMoF3ZGQIneZiI49xGMbhIg6aY7MEN01ioD/DviEKu6IfS0CMHf6wsnC74+u3RZXddwm10RWwD6XnpAS/5b5uECKOOXAvp9ChuC6Z6mOObfLRLOKK8+zXOA72Sz5oYVUCDeDoWsvIrPQeuZiatBlIkbZ2TMahoJnAtpO+lCylCP6c1QfvCFzRN6i8OKg7IuCtk9eA2uw2WnyiOcC5uZH2p5OLoED6FtFHmOiq9nHX1PttllCW5f6H2DF7UPJwe3LzxwkeTzvGNe/W+R3YwdVV05tkK6Hbs2w8gzGOtmemAJXSCOtQRD0hpRbaqRwVCGF3zvGLZp/u8jWyb7oasxGE+XxddW0aGM+R9sptlF0fneLmy8A7AIKRyuF+HWRgf9OPSMZgwsi9nsaa3XstOSO5FjC6u6MR4G5pnqLnSXssOWIxxzDC/TtNYYr0b2InCPdQ95H23dOkVZ38FrYcE/XMg/5HHRCWoznxlDv2y/onzLsTeSl8B8gfGjBnG2fLbwUuxZLGILHiPAL4XoJrHEYAQ4Ijn/rghCdaHMvOzUGiTwMVxuZ3oB0314e3lk52tzLHM1wO7RCJpGHoWvtYgrvwcvDNfOxfcDNfMy8OsRUke1s4BeehtkpmHVtV2H7EkoEkbxALArGMEXkAx4r8HLksXuFRrJ/7+krbMVOYWFrXUxj6C9YXwILWxutrqbtLSFbvA7mY1/bMHxv/WxfrABrEL/y11cLCSGEEEIIIYSYzh90d5hS+vmUUwAAAABJRU5ErkJggg==\" alt=\"a_{n+1} = a_n^p\" style=\"width: 60.5px; height: 22px;\" width=\"60.5\" height=\"22\"\u003e\u003c/span\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: 48.2333px 7.91667px; transform-origin: 48.2333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e with the initial (\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEkAAAAkCAYAAADFGRdYAAABwElEQVRoge2YUbGDMBBFjwccYKAGUFAFOMABDmrhaaiEeqgFNGCB95HsZMsLIeG1hU73zGT6kbAkl5vdpGAYhmEYxudTAWeg9+2873SORw+MwA/Q4AS6+2Zi4YSZ/K+mwgk38eVCnXEiTDhR5rS+b1jo/woGnAi3hf6KIOLlXZM6EtpFfWLcneCmr0Ny0VrO0eNOJS84+cA6eIXbw59SPm/kLb5X47q1oN0s8IQTBZwo46yvRKiacD75T2sK3qnnmivSvAIuInt0JLhnIJwvtiS6ZjbprW31Syv0c3ViXKfGXXODS0W44hany6NebMlXfZaTSnKGzHNcGafXlCVSzeNXEwcJYk1x2ZHRIqWc1FIokn5g4K+9ryXBdkbn0KfmJBFh6QC2JTfsxUuqGwT1x0hgvXdT9o2xR3W7kJc/c8cBjyLEbCfBtpxM96huuhKnnhPHZeVZrWjMnnI0kNJf4qY9qhu84O6WusPoqtf44DfKJ/1uxE1LFa6lwEVa0dhlUB+4apygbWTcEUn9nyROy7o96NIfS166/1Oqm0ZSyfyfyZGC61VD2PdLdL6/tLIdhZpwQS+tlIZhGIZhGIZRxi8Ks/qCh9x2gAAAAABJRU5ErkJggg==\" alt=\"n = 0\" style=\"width: 36.5px; height: 18px;\" width=\"36.5\" height=\"18\"\u003e\u003c/span\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: 22.95px 7.91667px; transform-origin: 22.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e) value \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAoCAYAAAAG0SEsAAABOUlEQVRYhe2VXbGDMBBGj4c4wEANREEV1AEO4qAW0ICEeLgWqgEL3Idkh21uEmiB2+lMzkweYMl+2T8CjUaj0Wh8iAvQAw6w8Z2Nz5czRT3wiOIWGIAfYI6rO0P4Fp0/AJPYZmX7V2Etfj9a+Kqc24y9W7G/jQGm6HgsfCNZmfibFUPoCVmeFxrSsURV2uSj3RcOPqpD9Su+npCoU8eCVYdziW0gX4qJMB1Vao4FTz4zRr1PSyF7qv2hU37N2HuWzKT1loPnIhS/1cmoid8IYzfyXJYh7pO9NfFSKYGQxll9aOJyLPMukUs3y0RsEV+tu0Sml+7eKXm/RWCzOISUO0KN0/926TKRkdot/g67G24vUo4UGbXcBB1G7SdTuqAOQ6ZBj5T0wqlRCx3LhXInTMShN1+j0fgefgFsKIIPBf1eagAAAABJRU5ErkJggg==\" alt=\"a0\" style=\"width: 15.5px; height: 20px;\" width=\"15.5\" height=\"20\"\u003e\u003c/span\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: 9.70833px 7.91667px; transform-origin: 9.70833px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. If \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAoCAYAAAAG0SEsAAABOUlEQVRYhe2VXbGDMBBGj4c4wEANREEV1AEO4qAW0ICEeLgWqgEL3Idkh21uEmiB2+lMzkweYMl+2T8CjUaj0Wh8iAvQAw6w8Z2Nz5czRT3wiOIWGIAfYI6rO0P4Fp0/AJPYZmX7V2Etfj9a+Kqc24y9W7G/jQGm6HgsfCNZmfibFUPoCVmeFxrSsURV2uSj3RcOPqpD9Su+npCoU8eCVYdziW0gX4qJMB1Vao4FTz4zRr1PSyF7qv2hU37N2HuWzKT1loPnIhS/1cmoid8IYzfyXJYh7pO9NfFSKYGQxll9aOJyLPMukUs3y0RsEV+tu0Sml+7eKXm/RWCzOISUO0KN0/926TKRkdot/g67G24vUo4UGbXcBB1G7SdTuqAOQ6ZBj5T0wqlRCx3LhXInTMShN1+j0fgefgFsKIIPBf1eagAAAABJRU5ErkJggg==\" alt=\"a0\" style=\"width: 15.5px; height: 20px;\" width=\"15.5\" height=\"20\"\u003e\u003c/span\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: 28.3917px 7.91667px; transform-origin: 28.3917px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is 2 and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEwAAAAkCAYAAAAjMNwcAAAB10lEQVRoge2Z67GCMBBGTw90YAM2QAVUQAd2QAe0QA2UQA+2YA20oD82e4ne8AgwEnXPzM44E4nJx74SwTAMwzAMI8QZuACVs/zY5aTLCeiAe8CuiJCGIwN6BnE64MazaDdMtD9aRLBXQXJEQBWtffO6kuSEiDHmPTp+R0TN3rSuZKmAeuY7LYNoPx+WJeJFU1RsECxDYrtwEzXOcD9cI0mzc+Pf4MIqWL/mYRXMd9PaTXpznxueS3KMaNUOVq7Z2AS617nQnSRnEKXjfwXxe5oiYt5QHxRre1czbTnmQncSP65DC/THY97MHh4W84LmKJE9VFsn0v6kJ6z8WsFSIkPSTMfGXJwx7/4160IyJRpEsM2Fq2AQYyzB+h3yptg/iJLx6IlGq+BY5+t3x7EJOIUquatYMBxMl4RjbKN3dJXcXSzfey4j41qG11SWI6tkzrxYJyI9WMvsmPdo7vq0k/0ZEWtK7AzZX9QL8Tv81/ylua15fShxVKye4VgXsh5JR1FouPntQoEof+XzrnRVrKX5MSrNnL0HayQ8tSp9YusAwx6WWlRPtuma4xfRA/Wqa45fY8lxyPDwj0Oh/stwZIhY/t9OLVINv+E2dXf0hjVkJphhGKnxAKZM8gzRL/cbAAAAAElFTkSuQmCC\" alt=\"p = 2\" style=\"width: 38px; height: 18px;\" width=\"38\" height=\"18\"\u003e\u003c/span\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: 19.4417px 7.91667px; transform-origin: 19.4417px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, then \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFMAAAAoCAYAAACCV8YCAAAByUlEQVRoge2Y0ZGCMBBAXw90QAM0QAVWYAd0YAe2YA2UYA+2QA204H0kO6x3SZQkp6L7ZjI3crLIY7PZAIZhGIZhGN9CAxyA/tU/5BM4A1dgePUP2ToDTqTJLKRjEWkyC2iACVcrTWYhJ1ytbDCZReyAGWj956oyOx9Itwe9/9zVuMAb0eJE7tWxKjI7XKpPPlCPS/+LukAbPTuPFveQSkduT3jG3aOmWObeB5hwdSMUfMoNnqDndgXNHTk3fiB9v1kyUyJ18GNO8DvUysy15UfaoNB52TJ36uTQVGnv/H+L6DYoRJbMBld8r8AY+Y5k7Uw4a8E9kMn/3QLSBsXIkqkb1Ng0kX1q6OI9bupLjC3IlJl4JF4y5H5GVixwkpWxp6QXh9CUkAcgwnNkPns117KqLXD3RMEiKZW5+ns5Mp+9mku/nBoS86yOJRc4fVJIwsCSual6Ce+RmTU3E6trZkrmHregjNyWgRPhLC6R+Y6slqlfN8kGX94wS78pmXnyI7bif71MWDJPj5FlSs+/jscwmZ4dLhsH/u67H3258Wky/6MOP8ynyXwpJrMiJrMi8r7TZBbQcbs3v+CEphp8wzAMwzAMwzAi/ADxqgLTGa+XUAAAAABJRU5ErkJggg==\" alt=\"a1 = 4\" style=\"width: 41.5px; height: 20px;\" width=\"41.5\" height=\"20\"\u003e\u003c/span\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: 3.88333px 7.91667px; transform-origin: 3.88333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAAAoCAYAAAAFZi8EAAACeklEQVRoge2aa7GDMBCFjwccYAADKEBBHOAAB7WAhkrAQy2gAQvcH8letkBeNJRJ2W8m02nJi5xsdrP3AoIgCIIgCMKG8uoJ5EptyhEKAArAE8BgPptE87oNNfTizQDayLYFgN60naDFKJLO7gaUWASgEiNEDb34s+lHBDhACb3o9BkrhGJt+jMmeEdqxAlRsfpiCQmJEaIAMLL61blTuxcxQnSs7vPMSVVmMh2WUK42339V/RghuDU00D5GQa9PiwRrVEGfd6PpsIZ2Qi82cOoLSgn9Ap+Wo7E/ESoEr0dOet4pLxwUhCKAEVvHM7NnqVm/2NESG/u75uHqix9Ls/lOm7NYPR8RKYZLBLCOHzGdBpLKIj49DkKF4BZgWw8eCgf7kIY12jPv0vP8VwgVgl/+XOtBl7wJAcd5wRrYlCNrmbC1lmY1sQH5OvMjQrje9cnqefNN/DyzdUoDD6vfFbRDUmYgPnCOlnPkaHIJwdfW6794jsQ3uW71bMTW5EiMmNg6t6iJL7BrpwcL4VpkwmaGNfYdFfmbl2tgxzxyiJqqwHohp82m4p6yLd4dTkguhV7mCov4VtQELBc620kCLKeDLRL9xyWEMh1QZzRgD7v1ULsUu/MKYoTg4altA5BYrvUCsJ89pAsJqUgW0Zvi2+l0C88xE8nD+JCNRNmGvcxr63i2C490+AWEGk+r313QfSPHiKnBexrnBf978L/KDdCnAeXj6LIXtSEbLMmqdRQUk+gbkOeR5PM9vsXkCb8OSxLwEh44J/0hRKCgTTRHv/AzKOw7JDo/hS9AUQaFtLyMkP/n+QoV3iOqdfFeYgRBEARBEARBEIRw/gD9KVRTCbGRkgAAAABJRU5ErkJggg==\" alt=\"a2 = 16\" style=\"width: 49px; height: 20px;\" width=\"49\" height=\"20\"\u003e\u003c/span\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: 3.88333px 7.91667px; transform-origin: 3.88333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAAoCAYAAADJ/xXvAAADO0lEQVR4nO2aW7WrMBCGfw84wAAGUICCOsABDmoBDZUQD9tCNWCh5yH5F0PIlbJ329P51spLcynMLTPTAoqiKIqiKIryBO2L9n4dHYARwORGX7G3F/v8cQMwFJ7TALi4PaZy71fTwgrsERg/sMrNcY/sf7i5HA2A2a1fYBXZ1LzEN9PACo0KM9gr5I60Ii9unYmMnCf14hkMVHnV3GAF6Cuph1UqFXlLnHEHcD34/TSAB6wnKpW0sMKLeRnnGeJCHjJkzkjRifPVAw8yIe9BN6yCDimKd+kE61WlmWSDbdg+YgQKyoQ+IS7oHuFExrizS89NheqnkSk3022m0t9iORT2EpljQhIaN8RDpPTCAdaYLu7MESfIt8OapY2wipuxvejPLkBbxOusmlFT25XAcJoLu71b4yvVRNbKNTPCRlBa3uxgtnTH3opq6p5aYqGpdownPxeVUnPXXTPPNHnzkzi/8eZz5c2OlAIhDj6aTqc4yxPPDPOUx/TEXnqURHpeTJajWFN8ZzJVfiAcktrM/P8Gs8dnUn+G4gVbT5bdoZQsGQX8/UFk1yKmdVpWqF7qsE3FD8fyN2JGPCKVIh1DysNEPveRMs32T1NptP/F/kXdwr4skwp51qdyQaH1FxCS6xz53EfKMnvXy75dCJl0+PfDjH1I4EPWdN/fJTs9U4HAKjfp0VI5KRkVKzGlIJJy/5DQpsja0ud4VXZ6tgKZR/iJjWy3pZ63JELuFoasYsT2gi25Iwzqm7mvzk75S0JKgSzIS6FsQ4pisR+LfsB6J2bv5pQSL+4AHsYvnBH32hHW8j6pmdvBKjAV2hrY9+IaGt2I8LsyWYzJQpYQMcOjorMlTqiTzoKTFkBPnN0IZbADtmH3NxoCvwEVuCD+e6Bx8/Kd/HeVBtDCKu8Hac9mByxUxoyJuSAylZUFJjcv3ucpeK8cLZL/Eiqw9L6V7zME9vJH5cWtzQlf/prPprnM8K8FZ2wYsIYH33pqm9707lS8fwfYcC4dvkAb7wz2mWuvEtn8nrA2xF+OwT4rUz6MIxmq8kYwGdK/2n0IbBL7baUZn1VmfDWyD2hgMyr1QEVRFEVRFEVRFEX5Q/4BI4S3UXfFXN0AAAAASUVORK5CYII=\" alt=\"a3 = 256\" style=\"width: 56.5px; height: 20px;\" width=\"56.5\" height=\"20\"\u003e\u003c/span\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: 17.1px 7.91667px; transform-origin: 17.1px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, etc. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42.25px; 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 21.125px; text-align: left; transform-origin: 384px 21.125px; 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: 125.492px 7.91667px; transform-origin: 125.492px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function that takes two values of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\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: 103.475px 7.91667px; transform-origin: 103.475px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and the corresponding values of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAoCAYAAAAG0SEsAAABNklEQVRYhe2VUbWDMAyGPw84wAAGqgAFOKgDHMwCGpBQD1hAAxbYA8lpxsrY4ZTdh9vvnD4sWfPTpEmhUCgUCoU/ogE80ANObE5+N3eKBmAWcQcMwASssuo7hDsJPgPVzrca30+Frfgjt3BrgruEvz7xX6YCFgk8HvxHs7KQzspleuKpjm5xEH/IKQzx1EeBnfm4PqfwN4ED55m5hE15m/B7YmZurfdevGNru5HXsgzELPXin9hasBL/KraPNEY8yOZKgmq/68kHWfuO0LK04nfEaXg6CfVkdo3EFC87+55FPjQQZ8As66sx3LKd1ic2fHpMbOa82HQgHc2MbOidmYiZ0oHkjzblQuvdGZteuNueXSX1EM3GlmrfLOiAsrXVOzCwtd5t4g/e50PNdvsXXktRKBT+CU+MO3Oqf1KjkgAAAABJRU5ErkJggg==\" alt=\"a_n\" style=\"width: 15.5px; height: 20px;\" width=\"15.5\" height=\"20\"\u003e\u003c/span\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: 1.94167px 7.91667px; transform-origin: 1.94167px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e \u003c/span\u003e\u003c/span\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: 85.5833px 7.91667px; transform-origin: 85.5833px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eand returns the initial value \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAoCAYAAAAG0SEsAAABOUlEQVRYhe2VXbGDMBBGj4c4wEANREEV1AEO4qAW0ICEeLgWqgEL3Idkh21uEmiB2+lMzkweYMl+2T8CjUaj0Wh8iAvQAw6w8Z2Nz5czRT3wiOIWGIAfYI6rO0P4Fp0/AJPYZmX7V2Etfj9a+Kqc24y9W7G/jQGm6HgsfCNZmfibFUPoCVmeFxrSsURV2uSj3RcOPqpD9Su+npCoU8eCVYdziW0gX4qJMB1Vao4FTz4zRr1PSyF7qv2hU37N2HuWzKT1loPnIhS/1cmoid8IYzfyXJYh7pO9NfFSKYGQxll9aOJyLPMukUs3y0RsEV+tu0Sml+7eKXm/RWCzOISUO0KN0/926TKRkdot/g67G24vUo4UGbXcBB1G7SdTuqAOQ6ZBj5T0wqlRCx3LhXInTMShN1+j0fgefgFsKIIPBf1eagAAAABJRU5ErkJggg==\" alt=\"a0\" style=\"width: 15.5px; height: 20px;\" width=\"15.5\" height=\"20\"\u003e\u003c/span\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: 27.225px 7.91667px; transform-origin: 27.225px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and the exponent \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003ep\u003c/span\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: 3.88333px 7.91667px; transform-origin: 3.88333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [p,a0] = recurrence1(n,a)\r\n  p = f1(n,a);\r\n  a0 = f2(n,a);\r\nend","test_suite":"%%\r\na = [16 65536];\r\nn = [2 4];\r\n[p,a0] = recurrence1(n,a);\r\np_correct = 2;\r\na0_correct = 2;\r\nassert(abs(p-p_correct)\u003c1e-12 \u0026\u0026 abs(a0-a0_correct)\u003c1e-12)\r\n\r\n%%\r\na = [512 134217728];\r\nn = [2 3];\r\n[p,a0] = recurrence1(n,a);\r\np_correct = 3;\r\na0_correct = 2;\r\nassert(abs(p-p_correct)\u003c1e-12 \u0026\u0026 abs(a0-a0_correct)\u003c1e-12)\r\n\r\n%%\r\na = [4.756828460010884 2684.848561202718];\r\nn = [2 6];\r\n[p,a0] = recurrence1(n,a);\r\np_correct = 3/2;\r\na0_correct = 2;\r\nassert(abs(p-p_correct)\u003c1e-12 \u0026\u0026 abs(a0-a0_correct)\u003c1e-12)\r\n\r\n%%\r\na = [4.756828460010884 2684.848561202718];\r\nn = [2 6];\r\n[p,a0] = recurrence1(n,a);\r\np_correct = 3/2;\r\na0_correct = 2;\r\nassert(abs(p-p_correct)\u003c1e-12 \u0026\u0026 abs(a0-a0_correct)\u003c1e-12)\r\n\r\n%%\r\na = [0.840896415253715 0.999994711720674];\r\nn = [2 17];\r\n[p,a0] = recurrence1(n,a);\r\np_correct = 1/2;\r\na0_correct = 1/2;\r\nassert(abs(p-p_correct)\u003c1e-10 \u0026\u0026 abs(a0-a0_correct)\u003c1e-10)\r\n\r\n%%\r\na = [3.236570233533632 6.5197372744901154];\r\nn = [53 100];\r\n[p,a0] = recurrence1(n,a);\r\np_correct = 1.01;\r\na0_correct = 2;\r\nassert(abs(p-p_correct)\u003c1e-12 \u0026\u0026 abs(a0-a0_correct)\u003c1e-12)\r\n\r\n%%\r\na = [27.065907669081142 6576132142.795870];\r\nn = [4 8];\r\n[p,a0] = recurrence1(n,a);\r\np_correct = (1+sqrt(5))/2;\r\na0_correct = (1+sqrt(5))/2;\r\nassert(abs(p-p_correct)\u003c1e-12 \u0026\u0026 abs(a0-a0_correct)\u003c1e-12)\r\n\r\n%%\r\na = [1.033024879021228 1.000000123944382];\r\nn = [2 8];\r\n[p,a0] = recurrence1(n,a);\r\np_correct = 1/8;\r\na0_correct = 8;\r\nassert(abs(p-p_correct)\u003c1e-10 \u0026\u0026 abs(a0-a0_correct)\u003c1e-9)","published":true,"deleted":false,"likes_count":1,"comments_count":1,"created_by":46909,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":24,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2021-04-02T16:23:14.000Z","updated_at":"2026-01-13T13:35:21.000Z","published_at":"2021-04-02T16:27:43.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\u003eConsider the difference equation \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"a_{n+1} = a_n^p\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ea_{n+1} = a_n^p\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e with the initial (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"n = 0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en = 0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e) value \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"a0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ea_0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. If \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"a0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ea_0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is 2 and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"p = 2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ep = 2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, then \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"a1 = 4\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ea_1 = 4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"a2 = 16\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ea_2 = 16\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"a3 = 256\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ea_3= 256\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, etc. \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 that takes two values of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"n\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and the corresponding values of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"a_n\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ea_n\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eand returns the initial value \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"a0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ea_0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and the exponent \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"p\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ep\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. \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":60541,"title":"Compute the number of squares a knight can reach after n moves","description":"Several Cody problems involve knights from chess. They have asked players to find a knight’s tour in a matrix (CP 96), determine whether points are reachable given the moves of a knight and other pieces (CP 1684), calculate the probability that a knight will remain on a chessboard after a given number of moves (CP 45389), determine the number of moves to reach a destination (CP 45433), find when a knight not allowed to revisit squares will be trapped (CP 54780), and list the squares that a knight can reach after one move (CP 57660).\r\nThis problem involves the number of squares on an infinite chessboard that a knight can reach. If the knight starts on the pink square below, then it can reach the eight squares marked “1” after one move and the 33 squares marked “2” after two moves. \r\nWrite a function to compute the number of squares that a knight can reach after n moves. \r\n","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: 500.7px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 250.35px; transform-origin: 407px 250.35px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 105px; 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 52.5px; text-align: left; transform-origin: 384px 52.5px; white-space-collapse: preserve; 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: 98.425px 8px; transform-origin: 98.425px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eSeveral Cody problems involve \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Knight_(chess)#Movement\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eknights\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: 146.625px 8px; transform-origin: 146.625px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e from chess. They have asked players to find a \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"/#null\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eknight’s tour\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: 38.5px 8px; transform-origin: 38.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e in a matrix (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/96\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 96\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: 6.21667px 8px; transform-origin: 6.21667px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), determine whether points are reachable given the moves of a knight and other pieces (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/1684\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 1684\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: 81.3px 8px; transform-origin: 81.3px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), calculate the probability that a knight will remain on a chessboard after a given number of moves (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/45389\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 45389\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: 114.733px 8px; transform-origin: 114.733px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), determine the number of moves to reach a destination (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/45433\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 45433\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: 206.167px 8px; transform-origin: 206.167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), find when a knight not allowed to revisit squares will be trapped (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/54780\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 54780\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: 42px 8px; transform-origin: 42px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), and list the squares that a knight can reach after one move (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/57660\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 57660\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: 4.275px 8px; transform-origin: 4.275px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e).\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-collapse: preserve; 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: 374.567px 8px; transform-origin: 374.567px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis problem involves the number of squares on an infinite chessboard that a knight can reach. If the knight starts on the pink square below, then it can reach the eight squares marked “1” after one move and the 33 squares marked “2” after two moves. \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-collapse: preserve; 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: 277.958px 8px; transform-origin: 277.958px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to compute the number of squares that a knight can reach after n moves. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 284.7px; 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 142.35px; text-align: left; transform-origin: 384px 142.35px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" width=\"369\" height=\"279\" style=\"vertical-align: baseline;width: 369px;height: 279px\" src=\"data:image/png;base64,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\" alt=\"Positions reachable by a knight after 1 and 2 moves\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = knightSq(n)\r\n  y = 8^n;\r\nend","test_suite":"%%\r\nassert(isequal(knightSq(0),1))\r\n\r\n%%\r\nassert(isequal(knightSq(1),8))\r\n\r\n%%\r\nassert(isequal(knightSq(2),33))\r\n\r\n%%\r\nassert(isequal(knightSq(21),3172))\r\n\r\n%%\r\nassert(isequal(knightSq(67),31692))\r\n\r\n%%\r\nassert(isequal(knightSq(212),315457))\r\n\r\n%%\r\nassert(isequal(knightSq(670),3144981))\r\n\r\n%%\r\nassert(isequal(knightSq(2118),31409941))\r\n\r\n%%\r\nassert(isequal(knightSq(6699),314163004))\r\n\r\n%%\r\nassert(isequal(knightSq(21184),3141417729))\r\n\r\n%%\r\nassert(isequal(knightSq(66992),31415764417))\r\n\r\n%%\r\nassert(isequal(knightSq(211849),314160839004))\r\n\r\n%%\r\nassert(isequal(knightSq(669924),3141589840129))\r\n\r\n%%\r\nassert(isequal(knightSq(knightSq(knightSq(5))),509156381452))\r\n\r\n%%\r\nm = randi([1001 50000]);\r\nassert(all(diff(diff(diff(arrayfun(@knightSq,m:m+randi([5 15])))))==0))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":46909,"edited_by":46909,"edited_at":"2024-06-15T15:27:46.000Z","deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-06-15T15:27:39.000Z","updated_at":"2025-07-26T06:24:29.000Z","published_at":"2024-06-15T15:27:46.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\u003eSeveral Cody problems involve \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Knight_(chess)#Movement\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eknights\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:rPr/\u003e\u003cw:t\u003e from chess. They have asked players to find a \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eknight’s tour\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e in a matrix (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/96\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 96\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), determine whether points are reachable given the moves of a knight and other pieces (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/1684\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 1684\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), calculate the probability that a knight will remain on a chessboard after a given number of moves (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/45389\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 45389\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), determine the number of moves to reach a destination (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/45433\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 45433\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), find when a knight not allowed to revisit squares will be trapped (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/54780\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 54780\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), and list the squares that a knight can reach after one move (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/57660\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 57660\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis problem involves the number of squares on an infinite chessboard that a knight can reach. If the knight starts on the pink square below, then it can reach the eight squares marked “1” after one move and the 33 squares marked “2” after two moves. \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 compute the number of squares that a knight can reach after n moves. \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:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"279\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"369\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"Positions reachable by a knight after 1 and 2 moves\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":59170,"title":"Determine whether a number is a Zeisel number","description":"Do you know what is interesting about the number 1729? \r\nThat’s right: it’s the third Zeisel number, a number given by , where  and  are the distinct prime factors, related by the recurrence relation . For example, A and B are 1 and 6 for 1729 since 1+6 = 7, 7+6 = 13, 13+6 = 19, and .\r\nWrite a function to determine whether a number is a Zeisel number. If it is, return the values of  and . If not, set  and  to NaN.","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: 146px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 73px; transform-origin: 407px 73px; 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: 178.55px 8px; transform-origin: 178.55px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eDo you know what is interesting about the number 1729? \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 65px; 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 32.5px; text-align: left; transform-origin: 384px 32.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: 183.317px 8px; transform-origin: 183.317px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThat’s right: it’s the third Zeisel number, a number given by \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"72\" height=\"20\" alt=\"p0*p1*p2*...*pn\" style=\"width: 72px; height: 20px;\"\u003e\u003c/span\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: 24.8917px 8px; transform-origin: 24.8917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, where \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFMAAAAoCAYAAACCV8YCAAAC50lEQVRoQ+2ZvU8VQRTFobcBKxsobDAaaVAKIwWFVlYmfnRUoAWlBqgIBRD4A1RiYakWJsZKSis+Gggh2phQaQUxgR7OeZlrboadt+zufWHf5k5ysrPvzZud+e2ZuTPzens8mRHoNavJK+pxmIYmcJgO05CAYVXuTIdpSMCwKndmPswHKLIAfYWW2hV3mGk6AnE0FJlzmPnOi0v044MZaBC6DQ05zOIQ5ReEyXQE0Z3fHWZ5mPqXDtOGY6sWc5jXUSmtvx0ayfxIyK8bNryOVVWGSXhT0CM1+RLac+gN9CTq9Uvcv60jCYM2VYYpbXiKzMdw8xnX+xDXW8z3QTvQlfD9XeVcgz60qjg1qIgmeFihHjOYL4IT2Za/0ASkh/U73E+GhuauwUp0qFEwP6kh/Qx53uu0gptX4YM1XDk1NC2ZOfM4DONfuN6DuO5KweyEM+vwYkxg3kFPtkJvVnF9ndEzLmb5MCbOS3oKoGuHoQNoDJqHYmfXAVZeG0xgzuIpi+FJqeAizuV8eks5dwP5AYgB6zckL6Yb3WsCk0C4wU8NcR2cNCT5PHazuPiqgp7nisYEIOlIKrCkYP8EIR4MxAFLglVqysgC2wiY2tpZUVymgBMQGIdkZ0QgAiB2oNRJp9/Is2SNvq88zPX6MYYi8x9BPoZ00NEPTsEkp246Q60MU4YqO66hcEf0HtqHpiNHsuxFYRaZNy/bpIXW0rFLeIhxGHrAKL0H7UJc5vyDvkCpJU6TYBKiPpuQl7qJzA9oGYrX3eeGnI7SWfNlO6fotWm7Yd5Nziw0MmJn6i1kmU43LQBVgvkHv74GlY26smTK2hFxH9/UPXwLunamHqZlO523aO/EUV0h93SysIapl0RVDnzpzpsQ/93jJC0vqewL6mT/TesmTJ6s8yCDEVsnRi0C5v66SJK/ShkNv0E86PgANfU0/j+bblpAF3mhl1LWYRpid5gO05CAYVXuTIdpSMCwKnemIcwzUJa2KfZPougAAAAASUVORK5CYII=\" width=\"41.5\" height=\"20\" alt=\"p0 = 1\" style=\"width: 41.5px; height: 20px;\"\u003e\u003c/span\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: 15.5583px 8px; transform-origin: 15.5583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAoCAYAAADpE0oSAAACTUlEQVRYR+1WOS9GQRT19RJBRRQSChIJiTURjQiVSmydylKohISIQoSEH2CJSoVCT1QqS0NEaBQaKktCzzlyr1zzzTzv81maN8nJLG9mzp1z79x5qZx/Kql/4s1JiP9M+UTqROpfUyAJrl+T1t04jtRlWFQAnMhituukvfddS33EJBoCOoEKQ9CP9jLQ45CNoL+SqQFRJ+7FZpuy4TbqFmAWYDsfOAVy5XuDUSSWDVHEw3JCbnQHDABW2lX0B4VlCvVCLEaZFEW8ZWTtQ5t9WxbRGZeBNdR0T+wSRfwsUl6hbgYeIoh/7MT1IDkWoiXUE56j7GKsXcY7jBu4ljHQBuSFlAideBIL5mXTUOCoIvR/lVGExN3iBsYEjUorIeJDzGwEQjLbwPPJrIYHXRAifhUTQ0HzlWHqhuA18xHTb1zI4otmPc0LvrcCmtGsnHQDUeyTmWM+Yns/C43vOF+DjqRdgC9l6hwmGiYhohZ4BPbVUB/xJT5qqrTE3GAduABGAyelcaqIplIqOAZM2zUuMR+Ae5GH0XoOnAHVwBOwA7iJxFVT/V+OD8z7VIbGfMoDLrGNVp9/XRJfn4HJ27ABlALejOYS2zTp+jcOqQ1Mzj8CmnwLXeJbTCoSiyvjMDlzNDDp3xnZi5Jfu3tZYpsmM076sjEDswSoEYn5iGh0098fBlhie42+87hrYNK/VIv9G4BvNhPJHMCfifcgIzEt4SPAyLXlAB0akyZTwAX642DVYrDykUm7gnH+uQI82Q0nxNnpl8HqROoMxMpu6hutdXkp4PeddQAAAABJRU5ErkJggg==\" width=\"15\" height=\"20\" alt=\"pk\" style=\"width: 15px; height: 20px;\"\u003e\u003c/span\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: 93.725px 8px; transform-origin: 93.725px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e are the distinct prime factors, related by the recurrence relation \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMEAAAAoCAYAAABHCZ7WAAAGlUlEQVR4Xu1cS8h2UxT+/jkJIxLyG1AKuZYY/IkJE3IdGcitjERIBvqjGBgYuERJ1E8xIeWSAROXCSEGKBNGbjHneXSer/Xtd+93n3df/vec76xTq/d9z3f2Pvs8az1rrb32Pt+BHT8cgYUjcGDhz++P7wjsOAncCBaPgJNg8SbgADgJ3AYWj4CTYPEm4AA4CdwGFo+Ak6DcBJ5E07shx5Z34S0rETiI9g9AroWctKavX/G3tyHU2Y/hdU6CMi2cgGY/Q46BnAj5vawbb9UIAerjN9PXG/h+0/CbRHkNcsnw+2F8PmHv6yQo08LraHbj0PRmfPK3H9tDgIb+g7n91fj+vvltnRZPXwz5Qn93EmyuuKvQ5D3T7Cl8Z0j2I47A8zh9LuTpjs6CXv/IcPt/8HkaJIzOn+KcosEL+H6nk6DcZL9D01MgTIV42NBb3uv+bSnjW0lDGj4yiXbH0B8jACNBeFgS7NGZR4LNNHEXLqfnvx/y7ND0e3yevVk3i7r6aJDgFyCqiXGKbHReZw3IbxwJmG8xp1IOxe8XGtYtRaPKKx8fvL/NQcc6kyVi2ZsE4XxgT74/GOdF+PzcGGp2TsBOmS+x7CTmMMTcMng/TQjVJ8uEzy2ACQy5V0AugzDf/Nc885n4vlJ6wznHcmenNwkYnW1Uln6kHurgHWPLG1WH7GSDOdTlkMcGL3g8Pr+EKC+Osa+GFzZ/K+2HE6RWNXx5G1sJsmPMVYi2iWUpfq3a9SYBixQsVvCgndLIqS/a6HUQOm3awruQlyC2avR/o3Vh3DKMiw23BR3YyUjrSc/USMDx/AVhNFTVwZZJcxWibWLZyphL++lNgr+NM6axyzFrvDx3OyRZxl5HglwtnKtvnCDy2DPRKEVrou3kxcNoZ58/VyFaMpY9SWBz/bA0yr89A1FZNFU1WhsJxDBWP8I8i/ZqjaB1JJgSH1h5+ASiFUiNza4X5CpE+xlLawc1eitJqe29P8PNLw0GwGLGNxBVjqLOOhUJLMNSod7mYnaFjm2Zj10JOQ6yuyhRg9CW2m6i4B5YkmjE8gLIH5A9y/2NMZHn/GpDnW2C0bohl5DAps0pO7VpO++/oqeU4h7CxSwF8kgNTt6N84VzIMqVCeYNEKZKyRDUWIE9uuPkipN/4pAyvjEVohosSYL7IPzsFW1VwWKVj/l069S2VzoU7hcKt0rIJsIV/pXrUiTQwFOpkJ3oxZQjxZcqbgoTY+bxrIhZgodkG1MhqsVSEbfEU45xDiQBo8yDg+OaCwnGbJXg81tb5e/RJJCHSwGSU2yt4rZNAnmPHIltSpgKx7VYMuJS1pFxjLHnrlFaMxcSjNkqwWe210X3FcUigQ0fsfq3vDw7PATZ3Y1nUJbiTs4hP9G/k4SnjjC8XIWoFkvNzXLVpxYwzo0EY7ZKhLtHozjGSGCZE+6Vl1JIgOshKwsPOBcqjmFLE7sPE6RpocRWfSh85qIA72fz/ViFqBZL9c98nQrkws8ZkJ8gH0Biq9SlOMyJBOFWidRipS1NUz/XxDCLkcBuNLIkoDG/CPkWcu8aY7aK43YKTe4emQEBSOCPIJwg5laBaWxhZSTcPlGLpdIt9cv7seJGjFu/yDMnEoS42xSO3p/O4lGISqN01veknEZIAjvjZtXnawhLZtwP/ifkLUjuBRLl81QcGcuI0UNppR4v1Y5jpPfXiiOf/1VI7F0BRovzIbea69mvbdMCS84n2CfTSt6TUaDXuwtzIIGtlq3TPzMVOmva7puQWMay2z4kgZ1Jj/GEsYFQcQw9r0BOh8x5naCGaLVYaj7BNIhHygGFJcDcmFN67UUCvVTzMgY2yY2WIQlsDlXy7myokNgqXk5J++XvtViGIT9VfbJb28dgx3lEbC7RiwRjxrTVa0ISaMad2waQGrQmgpzIKSdLbTPe6oMfhZvXYqk32Lj56whEaVGvoTsJgKzdKlFaK5bizhvSIK4aqyzF+UHLakYvY2jRby2Wmk/IGWmepXc3emDpJIDmbTmv5EWZUHG2RsvVzsMQuxW5hbFNtY9aLLUaKmekNFNb2llsaD3X0phLHeBUdZEdF9Mh/QMjVoDs8fFAjLHeO1Qc++LkkLlsrqyaHehMLmiFpQzSTmJ1jpGVTqpViZRjZklRlTFWVhjBW69DTFaFY9+NnewD+MAcgVoEnAS1CHr72SPgJJi9Cv0BahFwEtQi6O1nj4CTYPYq9AeoRcBJUIugt589Ak6C2avQH6AWgf8AEJvgOEEYayMAAAAASUVORK5CYII=\" width=\"96.5\" height=\"20\" alt=\"pk = Ap(k-1)+b\" style=\"width: 96.5px; height: 20px;\"\u003e\u003c/span\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: 215.883px 8px; transform-origin: 215.883px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. For example, A and B are 1 and 6 for 1729 since 1+6 = 7, 7+6 = 13, 13+6 = 19, and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"129.5\" height=\"18\" alt=\"1*7*13*19 = 1729\" style=\"width: 129.5px; height: 18px;\"\u003e\u003c/span\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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\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: 292.35px 8px; transform-origin: 292.35px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to determine whether a number is a Zeisel number. If it is, return the values of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eA\u003c/span\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: 15.5583px 8px; transform-origin: 15.5583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eB\u003c/span\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: 34.5917px 8px; transform-origin: 34.5917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. If not, set \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eA\u003c/span\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: 15.5583px 8px; transform-origin: 15.5583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eB\u003c/span\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: 9.71667px 8px; transform-origin: 9.71667px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e to \u003c/span\u003e\u003c/span\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: 11.55px 8px; transform-origin: 11.55px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003eNaN\u003c/span\u003e\u003c/span\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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [tf,A,B] = isZeisel(n)\r\n  tf = isunique(factor(n));\r\n  A = NaN;\r\n  B = NaN;\r\nend","test_suite":"%%\r\n[tf,A,B] = isZeisel(1729);\r\nassert(tf \u0026\u0026 isequal(A,1) \u0026\u0026 isequal(B,6))\r\n\r\n%%\r\nassert(all(~arrayfun(@isZeisel,1:104)))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(5719);\r\nassert(tf \u0026\u0026 isequal(A,2) \u0026\u0026 isequal(B,5))\r\n\r\n%%\r\np = primes(20);\r\nassert(~isZeisel(p(randi(8)).^randi(10)))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(27559);\r\nassert(tf \u0026\u0026 isequal(A,4) \u0026\u0026 isequal(B,3))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(233569);\r\nassert(tf \u0026\u0026 isequal(A,9) \u0026\u0026 isequal(B,-2))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(323569);\r\nassert(~tf \u0026\u0026 isnan(A) \u0026\u0026 isnan(B))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(507579);\r\nassert(tf \u0026\u0026 isequal(A,34) \u0026\u0026 isequal(B,-31))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(13725848369);\r\nassert(tf \u0026\u0026 isequal(A,51) \u0026\u0026 isequal(B,-4))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(13725884369);\r\nassert(~tf \u0026\u0026 isnan(A) \u0026\u0026 isnan(B))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(1123229795249);\r\nassert(tf \u0026\u0026 isequal(A,636) \u0026\u0026 isequal(B,-619))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(104177289494129);\r\nassert(tf \u0026\u0026 isequal(A,93) \u0026\u0026 isequal(B,410))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(999965521635409);\r\nassert(tf \u0026\u0026 isequal(A,15831) \u0026\u0026 isequal(B,-15824))\r\n\r\n%%\r\nn = 100*polyval(randi(9,[1 8]),10)+4*randi(24);\r\nassert(~isZeisel(n))\r\n\r\n%%\r\nfiletext = fileread('isZeisel.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'assert') || contains(filetext,'regexp') || contains(filetext,'oeis') || contains(filetext,'read'); \r\nassert(~illegal)\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":2,"created_by":46909,"edited_by":46909,"edited_at":"2023-11-11T14:45:27.000Z","deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2023-11-11T14:45:15.000Z","updated_at":"2024-12-20T14:17:19.000Z","published_at":"2023-11-11T14:45:28.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\u003eDo you know what is interesting about the number 1729? \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\u003eThat’s right: it’s the third Zeisel number, a number given by \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"p0*p1*p2*...*pn\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ep_0p_1p_2\\\\cdots p_n\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, where \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"p0 = 1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ep_0 = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"pk\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ep_k\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e are the distinct prime factors, related by the recurrence relation \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"pk = Ap(k-1)+b\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ep_k = Ap_{k-1} + B\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. For example, A and B are 1 and 6 for 1729 since 1+6 = 7, 7+6 = 13, 13+6 = 19, and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"1*7*13*19 = 1729\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e1\\\\cdot7\\\\cdot13\\\\cdot19 = 1729\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWrite a function to determine whether a number is a Zeisel number. If it is, return the values of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"A\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"B\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eB\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. If not, set \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"A\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"B\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eB\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e to \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNaN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\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":8057,"title":"(Linear) Recurrence Equations - Generalised Fibonacci-like sequences","description":"This problem is inspired by problems \u003chttp://uk.mathworks.com/matlabcentral/cody/problems/2187-generalized-fibonacci 2187\u003e, \u003chttp://uk.mathworks.com/matlabcentral/cody/problems/3092-return-fibonacci-sequence-do-not-use-loop-and-condition 3092\u003e and \u003chttp://uk.mathworks.com/matlabcentral/cody/?term=tag%3A%22fibonacci%22 other problems\u003e based on Fibonacci sequence.\r\n\r\nI haven't seen here many problems based on other recursive sequences such as \u003chttp://oeis.org/A000032 Lucas numbers\u003e, \u003chttp://oeis.org/A000129 Pell numbers\u003e, \u003chttp://oeis.org/A000931 Padovan sequence\u003e or \u003chttp://oeis.org/A000073 Tribonacci numbers\u003e so this is a problem about them all.\r\n\r\nYour function input will be _N_, _Init_ and _Rules_. _Init_ and _Rules_ represent initial values of sequence and a kernel which denotes recurrence relation:\r\n\r\n    Init  : [ A1 A2 ... Ak]\r\n    Rules : [ Ck ... C2 C1]\r\n  \r\n    function: f(n) = (Ck) * f(n-k) + ... + (C2) * f(n-2) + (C1) * f(n-1)\r\n              and f(1) = A1, f(2) = A2, ..., f(k) = Ak,\r\n\r\n_Init_ and _Rules_ have the same length, _N_ may be a single number or a vector. Your function should return values of _f(N)_. Example:\r\n\r\n   % Fibonacci sequence:      f(1)=f(2)=1, f(n)=f(n-2)+f(n-1)\r\n    \u003e\u003e Init = [1 1];\r\n    \u003e\u003e Rules = [1 1];\r\n    \u003e\u003e N = 1:10;\r\n    \u003e\u003e fibonacci = recurrence_seq(N,Init,Rules),\r\n    fibonacci = \r\n        1   1   2   3   5   8  13  21  34  55\r\n   \r\n    \r\n     \r\n\r\nOther info:\r\n\r\n* Different approaches may lead to solutions which won't be able to compute _f(n)_ for _n_ being equal 0 or negative integer. If your solution doesn't return correct answer for those numbers it will still pass if it returns NaNs for _n\u003c1_.\r\n* Please, try to avoid unnecessary things like strings, _ans_, etc. ","description_html":"\u003cp\u003eThis problem is inspired by problems \u003ca href = \"http://uk.mathworks.com/matlabcentral/cody/problems/2187-generalized-fibonacci\"\u003e2187\u003c/a\u003e, \u003ca href = \"http://uk.mathworks.com/matlabcentral/cody/problems/3092-return-fibonacci-sequence-do-not-use-loop-and-condition\"\u003e3092\u003c/a\u003e and \u003ca href = \"http://uk.mathworks.com/matlabcentral/cody/?term=tag%3A%22fibonacci%22\"\u003eother problems\u003c/a\u003e based on Fibonacci sequence.\u003c/p\u003e\u003cp\u003eI haven't seen here many problems based on other recursive sequences such as \u003ca href = \"http://oeis.org/A000032\"\u003eLucas numbers\u003c/a\u003e, \u003ca href = \"http://oeis.org/A000129\"\u003ePell numbers\u003c/a\u003e, \u003ca href = \"http://oeis.org/A000931\"\u003ePadovan sequence\u003c/a\u003e or \u003ca href = \"http://oeis.org/A000073\"\u003eTribonacci numbers\u003c/a\u003e so this is a problem about them all.\u003c/p\u003e\u003cp\u003eYour function input will be \u003ci\u003eN\u003c/i\u003e, \u003ci\u003eInit\u003c/i\u003e and \u003ci\u003eRules\u003c/i\u003e. \u003ci\u003eInit\u003c/i\u003e and \u003ci\u003eRules\u003c/i\u003e represent initial values of sequence and a kernel which denotes recurrence relation:\u003c/p\u003e\u003cpre\u003e    Init  : [ A1 A2 ... Ak]\r\n    Rules : [ Ck ... C2 C1]\u003c/pre\u003e\u003cpre\u003e    function: f(n) = (Ck) * f(n-k) + ... + (C2) * f(n-2) + (C1) * f(n-1)\r\n              and f(1) = A1, f(2) = A2, ..., f(k) = Ak,\u003c/pre\u003e\u003cp\u003e\u003ci\u003eInit\u003c/i\u003e and \u003ci\u003eRules\u003c/i\u003e have the same length, \u003ci\u003eN\u003c/i\u003e may be a single number or a vector. Your function should return values of \u003ci\u003ef(N)\u003c/i\u003e. Example:\u003c/p\u003e\u003cpre\u003e   % Fibonacci sequence:      f(1)=f(2)=1, f(n)=f(n-2)+f(n-1)\r\n    \u0026gt;\u0026gt; Init = [1 1];\r\n    \u0026gt;\u0026gt; Rules = [1 1];\r\n    \u0026gt;\u0026gt; N = 1:10;\r\n    \u0026gt;\u0026gt; fibonacci = recurrence_seq(N,Init,Rules),\r\n    fibonacci = \r\n        1   1   2   3   5   8  13  21  34  55\u003c/pre\u003e\u003cp\u003eOther info:\u003c/p\u003e\u003cul\u003e\u003cli\u003eDifferent approaches may lead to solutions which won't be able to compute \u003ci\u003ef(n)\u003c/i\u003e for \u003ci\u003en\u003c/i\u003e being equal 0 or negative integer. If your solution doesn't return correct answer for those numbers it will still pass if it returns NaNs for \u003ci\u003en\u0026lt;1\u003c/i\u003e.\u003c/li\u003e\u003cli\u003ePlease, try to avoid unnecessary things like strings, \u003ci\u003eans\u003c/i\u003e, etc.\u003c/li\u003e\u003c/ul\u003e","function_template":"function values = recurrence_seq(N, Init, Rules)\r\n  values = N;\r\n  values(N\u003c1) = NaN;\r\n\r\n\r\n\r\nend","test_suite":"%% Fibonacci\r\nInit = [1,1];\r\nRules = [1,1];\r\nN = 1:10;\r\nvalues_correct = [1 1 2 3 5 8 13 21 34 55];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% Fibonacci - shifted\r\nInit = [2,3];\r\nRules = [1,1];\r\nN = 1:10;\r\nvalues_correct = [2, 3, 5, 8, 13, 21, 34, 55, 89, 144];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% Fibonacci - negative n\r\nInit = [1,1];\r\nRules = [1,1];\r\nN = -5:5;\r\nvalues_correct = [5, -3, 2, -1, 1, 0, 1, 1, 2, 3, 5];\r\nvalues_accepted = [nan, nan, nan, nan, nan, nan, 1, 1, 2, 3, 5];\r\nvalues = recurrence_seq(N, Init, Rules);\r\nassert(isequal(values,values_correct)||isequaln(values,values_accepted))\r\n%% Lucas numbers\r\nInit = [1,3];\r\nRules = [1,1];\r\nN = 1:10;\r\nvalues_correct = [1, 3, 4, 7, 11, 18, 29, 47, 76, 123];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% Padovan sequence\r\nInit = [1, 1, 1];\r\nRules = [1, 1, 0];\r\nN = 4:21;\r\nvalues_correct = [2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37, 49, 65, 86, 114, 151, 200];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% Pell numbers\r\nInit = [0, 1];\r\nRules = [1, 2];\r\nN = 4:3:19;\r\nvalues_correct = [5, 70, 985, 13860, 195025, 2744210];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% 3^n-2^n sequence\r\nInit = [3-2, 9-4];\r\nRules = [-6 5];\r\nN = 1:10;\r\nvalues_correct = [1, 5, 19, 65, 211, 665, 2059, 6305, 19171, 58025];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% Perrin sequence\r\nInit = [3, 0, 2];\r\nRules = [1, 1, 0];\r\nN = [28:38, 10:-1:1];\r\nvalues_correct = [1983, 2627, 3480, 4610, 6107, 8090, 10717, 14197, 18807, 24914, 33004, 12, 10, 7, 5, 5, 2, 3, 2, 0, 3];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% \r\nInit = [3, 0, 2]; % Perrin init\r\nRules = [1, 1, 1]; % Tribonacci rules\r\nN = [1:15];\r\nvalues_correct = [3, 0, 2, 5, 7, 14, 26, 47, 87, 160, 294, 541, 995, 1830, 3366];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% Tribonacci\r\nInit = [0, 0, 1];\r\nRules = [1, 1, 1];\r\nN = [1:23];\r\nvalues_correct = [0, 0, 1, 1, 2, 4, 7, 13, 24, 44, 81, 149, 274, 504, 927, 1705, 3136, 5768, 10609, 19513, 35890, 66012, 121415];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% Tetranacci\r\nInit = [0, 0, 0, 1];\r\nRules = [1, 1, 1, 1];\r\nN = [20:23];\r\nvalues_correct = [20569, 39648, 76424, 147312];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% Heptanacci\r\nInit = [0, 0, 0, 0, 0, 0, 1];\r\nRules = [1, 1, 1, 1, 1, 1, 1];\r\nN = [7:15, 19];\r\nvalues_correct = [1, 1, 2, 4, 8, 16, 32, 64, 127, 2000];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%%\r\nInit = [1, -1];\r\nRules = [1, -1];\r\nN = 1:10;\r\nvalues_correct = [1, -1, 2, -3, 5, -8, 13, -21, 34, -55];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%%\r\nInit = [1, -1];\r\nRules = [-1, 1];\r\nN = 1:10;\r\nvalues_correct = [1, -1, -2, -1, 1, 2, 1, -1, -2, -1];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%%\r\nInit = [1, -1];\r\nRules = [1, 1];\r\nN = 1:10;\r\nvalues_correct = [1, -1, 0, -1, -1, -2, -3, -5, -8, -13];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%%\r\nInit = [1, 1];\r\nRules = [2, -1];\r\nN = 1:10;\r\nvalues_correct = ones(1,10);\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%%\r\nInit = [1, 2];\r\nRules = [2, -1];\r\nN = 1:10;\r\nvalues_correct = [1, 2, 0, 4, -4, 12, -20, 44, -84, 172];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% Jacobsthal numbers\r\nInit = [0, 1];\r\nRules = [2, 1];\r\nN = 1:10;\r\nvalues_correct = [0, 1, 1, 3, 5, 11, 21, 43, 85, 171];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% A028242\r\nInit = [1, 0, 2];\r\nRules = [-1 1 1];\r\nN = 1:20;\r\nvalues_correct = [1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 7, 6, 8, 7, 9, 8, 10, 9];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%%\r\n\r\n","published":true,"deleted":false,"likes_count":18,"comments_count":3,"created_by":14358,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":414,"test_suite_updated_at":"2015-04-02T15:23:44.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2015-04-02T14:52:53.000Z","updated_at":"2026-03-26T04:58:55.000Z","published_at":"2015-04-02T14:54:17.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis problem is inspired by problems\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://uk.mathworks.com/matlabcentral/cody/problems/2187-generalized-fibonacci\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e2187\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e,\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://uk.mathworks.com/matlabcentral/cody/problems/3092-return-fibonacci-sequence-do-not-use-loop-and-condition\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e3092\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://uk.mathworks.com/matlabcentral/cody/?term=tag%3A%22fibonacci%22\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eother problems\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e based on Fibonacci sequence.\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\u003eI haven't seen here many problems based on other recursive sequences such as\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://oeis.org/A000032\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eLucas numbers\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e,\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://oeis.org/A000129\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ePell numbers\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e,\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://oeis.org/A000931\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ePadovan sequence\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e or\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://oeis.org/A000073\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTribonacci numbers\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e so this is a problem about them all.\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\u003eYour function input will be\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e,\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInit\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eRules\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInit\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eRules\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e represent initial values of sequence and a kernel which denotes recurrence relation:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    Init  : [ A1 A2 ... Ak]\\n    Rules : [ Ck ... C2 C1]\\n\\n    function: f(n) = (Ck) * f(n-k) + ... + (C2) * f(n-2) + (C1) * f(n-1)\\n              and f(1) = A1, f(2) = A2, ..., f(k) = Ak,]]\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:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInit\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eRules\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e have the same length,\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e may be a single number or a vector. Your function should return values of\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ef(N)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. Example:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[   % Fibonacci sequence:      f(1)=f(2)=1, f(n)=f(n-2)+f(n-1)\\n    \u003e\u003e Init = [1 1];\\n    \u003e\u003e Rules = [1 1];\\n    \u003e\u003e N = 1:10;\\n    \u003e\u003e fibonacci = recurrence_seq(N,Init,Rules),\\n    fibonacci = \\n        1   1   2   3   5   8  13  21  34  55]]\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\u003eOther info:\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\u003eDifferent approaches may lead to solutions which won't be able to compute\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ef(n)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e for\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e being equal 0 or negative integer. If your solution doesn't return correct answer for those numbers it will still pass if it returns NaNs for\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en\u0026lt;1\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\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\u003ePlease, try to avoid unnecessary things like strings,\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eans\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, etc.\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":51274,"title":"Solve a nonlinear difference equation","description":null,"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: 95.75px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 47.875px; transform-origin: 407px 47.875px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 44.5px; 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 22.25px; text-align: left; transform-origin: 384px 22.25px; 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: 102.967px 7.91667px; transform-origin: 102.967px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eConsider the difference equation \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-8px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHkAAAAsCAYAAABBuRcNAAADMUlEQVR4nO2a7dGCMBCEtwc6oAEboAIqsAM6oANboAZLsAdbsAZb4P2R7OTeE+RTEd1nhlEjYGCzd5cgIIQQQgghhBBCCCHETsgAFPE1j+8Pm/ZIrEYBoAHQArgDOAE4x62Nn8UXUCCJXMS2zLTlG/VLrEiNbte2cZPIX8AVQUybg/PYdptzwgIh3l8BXOL7Mr5vkcKFmEeOkGN5fy8I9/eMEHprtz/D8tW1V5iRkzOkZF7Fz0AYPQwLd9O+N5jXlm7Vgj4w7DZIITZDcCPP701U4lFMe8xoMqSQ0HUR7MB5ykk/jK1FZoXc4NEojJK3ju94XNnRNjqqWoH7rL/GKP5lKMoF3ZGQIneZiI49xGMbhIg6aY7MEN01ioD/DviEKu6IfS0CMHf6wsnC74+u3RZXddwm10RWwD6XnpAS/5b5uECKOOXAvp9ChuC6Z6mOObfLRLOKK8+zXOA72Sz5oYVUCDeDoWsvIrPQeuZiatBlIkbZ2TMahoJnAtpO+lCylCP6c1QfvCFzRN6i8OKg7IuCtk9eA2uw2WnyiOcC5uZH2p5OLoED6FtFHmOiq9nHX1PttllCW5f6H2DF7UPJwe3LzxwkeTzvGNe/W+R3YwdVV05tkK6Hbs2w8gzGOtmemAJXSCOtQRD0hpRbaqRwVCGF3zvGLZp/u8jWyb7oasxGE+XxddW0aGM+R9sptlF0fneLmy8A7AIKRyuF+HWRgf9OPSMZgwsi9nsaa3XstOSO5FjC6u6MR4G5pnqLnSXssOWIxxzDC/TtNYYr0b2InCPdQ95H23dOkVZ38FrYcE/XMg/5HHRCWoznxlDv2y/onzLsTeSl8B8gfGjBnG2fLbwUuxZLGILHiPAL4XoJrHEYAQ4Ijn/rghCdaHMvOzUGiTwMVxuZ3oB0314e3lk52tzLHM1wO7RCJpGHoWvtYgrvwcvDNfOxfcDNfMy8OsRUke1s4BeehtkpmHVtV2H7EkoEkbxALArGMEXkAx4r8HLksXuFRrJ/7+krbMVOYWFrXUxj6C9YXwILWxutrqbtLSFbvA7mY1/bMHxv/WxfrABrEL/y11cLCSGEEEIIIYSYzh90d5hS+vmUUwAAAABJRU5ErkJggg==\" alt=\"a_{n+1} = a_n^p\" style=\"width: 60.5px; height: 22px;\" width=\"60.5\" height=\"22\"\u003e\u003c/span\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: 48.2333px 7.91667px; transform-origin: 48.2333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e with the initial (\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEkAAAAkCAYAAADFGRdYAAABwElEQVRoge2YUbGDMBBFjwccYKAGUFAFOMABDmrhaaiEeqgFNGCB95HsZMsLIeG1hU73zGT6kbAkl5vdpGAYhmEYxudTAWeg9+2873SORw+MwA/Q4AS6+2Zi4YSZ/K+mwgk38eVCnXEiTDhR5rS+b1jo/woGnAi3hf6KIOLlXZM6EtpFfWLcneCmr0Ny0VrO0eNOJS84+cA6eIXbw59SPm/kLb5X47q1oN0s8IQTBZwo46yvRKiacD75T2sK3qnnmivSvAIuInt0JLhnIJwvtiS6ZjbprW31Syv0c3ViXKfGXXODS0W44hany6NebMlXfZaTSnKGzHNcGafXlCVSzeNXEwcJYk1x2ZHRIqWc1FIokn5g4K+9ryXBdkbn0KfmJBFh6QC2JTfsxUuqGwT1x0hgvXdT9o2xR3W7kJc/c8cBjyLEbCfBtpxM96huuhKnnhPHZeVZrWjMnnI0kNJf4qY9qhu84O6WusPoqtf44DfKJ/1uxE1LFa6lwEVa0dhlUB+4apygbWTcEUn9nyROy7o96NIfS166/1Oqm0ZSyfyfyZGC61VD2PdLdL6/tLIdhZpwQS+tlIZhGIZhGIZRxi8Ks/qCh9x2gAAAAABJRU5ErkJggg==\" alt=\"n = 0\" style=\"width: 36.5px; height: 18px;\" width=\"36.5\" height=\"18\"\u003e\u003c/span\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: 22.95px 7.91667px; transform-origin: 22.95px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e) value \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAoCAYAAAAG0SEsAAABOUlEQVRYhe2VXbGDMBBGj4c4wEANREEV1AEO4qAW0ICEeLgWqgEL3Idkh21uEmiB2+lMzkweYMl+2T8CjUaj0Wh8iAvQAw6w8Z2Nz5czRT3wiOIWGIAfYI6rO0P4Fp0/AJPYZmX7V2Etfj9a+Kqc24y9W7G/jQGm6HgsfCNZmfibFUPoCVmeFxrSsURV2uSj3RcOPqpD9Su+npCoU8eCVYdziW0gX4qJMB1Vao4FTz4zRr1PSyF7qv2hU37N2HuWzKT1loPnIhS/1cmoid8IYzfyXJYh7pO9NfFSKYGQxll9aOJyLPMukUs3y0RsEV+tu0Sml+7eKXm/RWCzOISUO0KN0/926TKRkdot/g67G24vUo4UGbXcBB1G7SdTuqAOQ6ZBj5T0wqlRCx3LhXInTMShN1+j0fgefgFsKIIPBf1eagAAAABJRU5ErkJggg==\" alt=\"a0\" style=\"width: 15.5px; height: 20px;\" width=\"15.5\" height=\"20\"\u003e\u003c/span\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: 9.70833px 7.91667px; transform-origin: 9.70833px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. If \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAoCAYAAAAG0SEsAAABOUlEQVRYhe2VXbGDMBBGj4c4wEANREEV1AEO4qAW0ICEeLgWqgEL3Idkh21uEmiB2+lMzkweYMl+2T8CjUaj0Wh8iAvQAw6w8Z2Nz5czRT3wiOIWGIAfYI6rO0P4Fp0/AJPYZmX7V2Etfj9a+Kqc24y9W7G/jQGm6HgsfCNZmfibFUPoCVmeFxrSsURV2uSj3RcOPqpD9Su+npCoU8eCVYdziW0gX4qJMB1Vao4FTz4zRr1PSyF7qv2hU37N2HuWzKT1loPnIhS/1cmoid8IYzfyXJYh7pO9NfFSKYGQxll9aOJyLPMukUs3y0RsEV+tu0Sml+7eKXm/RWCzOISUO0KN0/926TKRkdot/g67G24vUo4UGbXcBB1G7SdTuqAOQ6ZBj5T0wqlRCx3LhXInTMShN1+j0fgefgFsKIIPBf1eagAAAABJRU5ErkJggg==\" alt=\"a0\" style=\"width: 15.5px; height: 20px;\" width=\"15.5\" height=\"20\"\u003e\u003c/span\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: 28.3917px 7.91667px; transform-origin: 28.3917px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e is 2 and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEwAAAAkCAYAAAAjMNwcAAAB10lEQVRoge2Z67GCMBBGTw90YAM2QAVUQAd2QAe0QA2UQA+2YA20oD82e4ne8AgwEnXPzM44E4nJx74SwTAMwzAMI8QZuACVs/zY5aTLCeiAe8CuiJCGIwN6BnE64MazaDdMtD9aRLBXQXJEQBWtffO6kuSEiDHmPTp+R0TN3rSuZKmAeuY7LYNoPx+WJeJFU1RsECxDYrtwEzXOcD9cI0mzc+Pf4MIqWL/mYRXMd9PaTXpznxueS3KMaNUOVq7Z2AS617nQnSRnEKXjfwXxe5oiYt5QHxRre1czbTnmQncSP65DC/THY97MHh4W84LmKJE9VFsn0v6kJ6z8WsFSIkPSTMfGXJwx7/4160IyJRpEsM2Fq2AQYyzB+h3yptg/iJLx6IlGq+BY5+t3x7EJOIUquatYMBxMl4RjbKN3dJXcXSzfey4j41qG11SWI6tkzrxYJyI9WMvsmPdo7vq0k/0ZEWtK7AzZX9QL8Tv81/ylua15fShxVKye4VgXsh5JR1FouPntQoEof+XzrnRVrKX5MSrNnL0HayQ8tSp9YusAwx6WWlRPtuma4xfRA/Wqa45fY8lxyPDwj0Oh/stwZIhY/t9OLVINv+E2dXf0hjVkJphhGKnxAKZM8gzRL/cbAAAAAElFTkSuQmCC\" alt=\"p = 2\" style=\"width: 38px; height: 18px;\" width=\"38\" height=\"18\"\u003e\u003c/span\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: 19.4417px 7.91667px; transform-origin: 19.4417px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, then \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFMAAAAoCAYAAACCV8YCAAAByUlEQVRoge2Y0ZGCMBBAXw90QAM0QAVWYAd0YAe2YA2UYA+2QA204H0kO6x3SZQkp6L7ZjI3crLIY7PZAIZhGIZhGN9CAxyA/tU/5BM4A1dgePUP2ToDTqTJLKRjEWkyC2iACVcrTWYhJ1ytbDCZReyAGWj956oyOx9Itwe9/9zVuMAb0eJE7tWxKjI7XKpPPlCPS/+LukAbPTuPFveQSkduT3jG3aOmWObeB5hwdSMUfMoNnqDndgXNHTk3fiB9v1kyUyJ18GNO8DvUysy15UfaoNB52TJ36uTQVGnv/H+L6DYoRJbMBld8r8AY+Y5k7Uw4a8E9kMn/3QLSBsXIkqkb1Ng0kX1q6OI9bupLjC3IlJl4JF4y5H5GVixwkpWxp6QXh9CUkAcgwnNkPns117KqLXD3RMEiKZW5+ns5Mp+9mku/nBoS86yOJRc4fVJIwsCSual6Ce+RmTU3E6trZkrmHregjNyWgRPhLC6R+Y6slqlfN8kGX94wS78pmXnyI7bif71MWDJPj5FlSs+/jscwmZ4dLhsH/u67H3258Wky/6MOP8ynyXwpJrMiJrMi8r7TZBbQcbs3v+CEphp8wzAMwzAMwzAi/ADxqgLTGa+XUAAAAABJRU5ErkJggg==\" alt=\"a1 = 4\" style=\"width: 41.5px; height: 20px;\" width=\"41.5\" height=\"20\"\u003e\u003c/span\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: 3.88333px 7.91667px; transform-origin: 3.88333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAAAoCAYAAAAFZi8EAAACeklEQVRoge2aa7GDMBCFjwccYAADKEBBHOAAB7WAhkrAQy2gAQvcH8letkBeNJRJ2W8m02nJi5xsdrP3AoIgCIIgCMKG8uoJ5EptyhEKAArAE8BgPptE87oNNfTizQDayLYFgN60naDFKJLO7gaUWASgEiNEDb34s+lHBDhACb3o9BkrhGJt+jMmeEdqxAlRsfpiCQmJEaIAMLL61blTuxcxQnSs7vPMSVVmMh2WUK42339V/RghuDU00D5GQa9PiwRrVEGfd6PpsIZ2Qi82cOoLSgn9Ap+Wo7E/ESoEr0dOet4pLxwUhCKAEVvHM7NnqVm/2NESG/u75uHqix9Ls/lOm7NYPR8RKYZLBLCOHzGdBpLKIj49DkKF4BZgWw8eCgf7kIY12jPv0vP8VwgVgl/+XOtBl7wJAcd5wRrYlCNrmbC1lmY1sQH5OvMjQrje9cnqefNN/DyzdUoDD6vfFbRDUmYgPnCOlnPkaHIJwdfW6794jsQ3uW71bMTW5EiMmNg6t6iJL7BrpwcL4VpkwmaGNfYdFfmbl2tgxzxyiJqqwHohp82m4p6yLd4dTkguhV7mCov4VtQELBc620kCLKeDLRL9xyWEMh1QZzRgD7v1ULsUu/MKYoTg4altA5BYrvUCsJ89pAsJqUgW0Zvi2+l0C88xE8nD+JCNRNmGvcxr63i2C490+AWEGk+r313QfSPHiKnBexrnBf978L/KDdCnAeXj6LIXtSEbLMmqdRQUk+gbkOeR5PM9vsXkCb8OSxLwEh44J/0hRKCgTTRHv/AzKOw7JDo/hS9AUQaFtLyMkP/n+QoV3iOqdfFeYgRBEARBEARBEIRw/gD9KVRTCbGRkgAAAABJRU5ErkJggg==\" alt=\"a2 = 16\" style=\"width: 49px; height: 20px;\" width=\"49\" height=\"20\"\u003e\u003c/span\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: 3.88333px 7.91667px; transform-origin: 3.88333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAAoCAYAAADJ/xXvAAADO0lEQVR4nO2aW7WrMBCGfw84wAAGUICCOsABDmoBDZUQD9tCNWCh5yH5F0PIlbJ329P51spLcynMLTPTAoqiKIqiKIryBO2L9n4dHYARwORGX7G3F/v8cQMwFJ7TALi4PaZy71fTwgrsERg/sMrNcY/sf7i5HA2A2a1fYBXZ1LzEN9PACo0KM9gr5I60Ii9unYmMnCf14hkMVHnV3GAF6Cuph1UqFXlLnHEHcD34/TSAB6wnKpW0sMKLeRnnGeJCHjJkzkjRifPVAw8yIe9BN6yCDimKd+kE61WlmWSDbdg+YgQKyoQ+IS7oHuFExrizS89NheqnkSk3022m0t9iORT2EpljQhIaN8RDpPTCAdaYLu7MESfIt8OapY2wipuxvejPLkBbxOusmlFT25XAcJoLu71b4yvVRNbKNTPCRlBa3uxgtnTH3opq6p5aYqGpdownPxeVUnPXXTPPNHnzkzi/8eZz5c2OlAIhDj6aTqc4yxPPDPOUx/TEXnqURHpeTJajWFN8ZzJVfiAcktrM/P8Gs8dnUn+G4gVbT5bdoZQsGQX8/UFk1yKmdVpWqF7qsE3FD8fyN2JGPCKVIh1DysNEPveRMs32T1NptP/F/kXdwr4skwp51qdyQaH1FxCS6xz53EfKMnvXy75dCJl0+PfDjH1I4EPWdN/fJTs9U4HAKjfp0VI5KRkVKzGlIJJy/5DQpsja0ud4VXZ6tgKZR/iJjWy3pZ63JELuFoasYsT2gi25Iwzqm7mvzk75S0JKgSzIS6FsQ4pisR+LfsB6J2bv5pQSL+4AHsYvnBH32hHW8j6pmdvBKjAV2hrY9+IaGt2I8LsyWYzJQpYQMcOjorMlTqiTzoKTFkBPnN0IZbADtmH3NxoCvwEVuCD+e6Bx8/Kd/HeVBtDCKu8Hac9mByxUxoyJuSAylZUFJjcv3ucpeK8cLZL/Eiqw9L6V7zME9vJH5cWtzQlf/prPprnM8K8FZ2wYsIYH33pqm9707lS8fwfYcC4dvkAb7wz2mWuvEtn8nrA2xF+OwT4rUz6MIxmq8kYwGdK/2n0IbBL7baUZn1VmfDWyD2hgMyr1QEVRFEVRFEVRFEX5Q/4BI4S3UXfFXN0AAAAASUVORK5CYII=\" alt=\"a3 = 256\" style=\"width: 56.5px; height: 20px;\" width=\"56.5\" height=\"20\"\u003e\u003c/span\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: 17.1px 7.91667px; transform-origin: 17.1px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, etc. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 42.25px; 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 21.125px; text-align: left; transform-origin: 384px 21.125px; 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: 125.492px 7.91667px; transform-origin: 125.492px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function that takes two values of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003en\u003c/span\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: 103.475px 7.91667px; transform-origin: 103.475px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and the corresponding values of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAoCAYAAAAG0SEsAAABNklEQVRYhe2VUbWDMAyGPw84wAAGqgAFOKgDHMwCGpBQD1hAAxbYA8lpxsrY4ZTdh9vvnD4sWfPTpEmhUCgUCoU/ogE80ANObE5+N3eKBmAWcQcMwASssuo7hDsJPgPVzrca30+Frfgjt3BrgruEvz7xX6YCFgk8HvxHs7KQzspleuKpjm5xEH/IKQzx1EeBnfm4PqfwN4ED55m5hE15m/B7YmZurfdevGNru5HXsgzELPXin9hasBL/KraPNEY8yOZKgmq/68kHWfuO0LK04nfEaXg6CfVkdo3EFC87+55FPjQQZ8As66sx3LKd1ic2fHpMbOa82HQgHc2MbOidmYiZ0oHkjzblQuvdGZteuNueXSX1EM3GlmrfLOiAsrXVOzCwtd5t4g/e50PNdvsXXktRKBT+CU+MO3Oqf1KjkgAAAABJRU5ErkJggg==\" alt=\"a_n\" style=\"width: 15.5px; height: 20px;\" width=\"15.5\" height=\"20\"\u003e\u003c/span\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: 1.94167px 7.91667px; transform-origin: 1.94167px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-style: italic; \"\u003e \u003c/span\u003e\u003c/span\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: 85.5833px 7.91667px; transform-origin: 85.5833px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eand returns the initial value \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAoCAYAAAAG0SEsAAABOUlEQVRYhe2VXbGDMBBGj4c4wEANREEV1AEO4qAW0ICEeLgWqgEL3Idkh21uEmiB2+lMzkweYMl+2T8CjUaj0Wh8iAvQAw6w8Z2Nz5czRT3wiOIWGIAfYI6rO0P4Fp0/AJPYZmX7V2Etfj9a+Kqc24y9W7G/jQGm6HgsfCNZmfibFUPoCVmeFxrSsURV2uSj3RcOPqpD9Su+npCoU8eCVYdziW0gX4qJMB1Vao4FTz4zRr1PSyF7qv2hU37N2HuWzKT1loPnIhS/1cmoid8IYzfyXJYh7pO9NfFSKYGQxll9aOJyLPMukUs3y0RsEV+tu0Sml+7eKXm/RWCzOISUO0KN0/926TKRkdot/g67G24vUo4UGbXcBB1G7SdTuqAOQ6ZBj5T0wqlRCx3LhXInTMShN1+j0fgefgFsKIIPBf1eagAAAABJRU5ErkJggg==\" alt=\"a0\" style=\"width: 15.5px; height: 20px;\" width=\"15.5\" height=\"20\"\u003e\u003c/span\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: 27.225px 7.91667px; transform-origin: 27.225px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and the exponent \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003ep\u003c/span\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: 3.88333px 7.91667px; transform-origin: 3.88333px 7.91667px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [p,a0] = recurrence1(n,a)\r\n  p = f1(n,a);\r\n  a0 = f2(n,a);\r\nend","test_suite":"%%\r\na = [16 65536];\r\nn = [2 4];\r\n[p,a0] = recurrence1(n,a);\r\np_correct = 2;\r\na0_correct = 2;\r\nassert(abs(p-p_correct)\u003c1e-12 \u0026\u0026 abs(a0-a0_correct)\u003c1e-12)\r\n\r\n%%\r\na = [512 134217728];\r\nn = [2 3];\r\n[p,a0] = recurrence1(n,a);\r\np_correct = 3;\r\na0_correct = 2;\r\nassert(abs(p-p_correct)\u003c1e-12 \u0026\u0026 abs(a0-a0_correct)\u003c1e-12)\r\n\r\n%%\r\na = [4.756828460010884 2684.848561202718];\r\nn = [2 6];\r\n[p,a0] = recurrence1(n,a);\r\np_correct = 3/2;\r\na0_correct = 2;\r\nassert(abs(p-p_correct)\u003c1e-12 \u0026\u0026 abs(a0-a0_correct)\u003c1e-12)\r\n\r\n%%\r\na = [4.756828460010884 2684.848561202718];\r\nn = [2 6];\r\n[p,a0] = recurrence1(n,a);\r\np_correct = 3/2;\r\na0_correct = 2;\r\nassert(abs(p-p_correct)\u003c1e-12 \u0026\u0026 abs(a0-a0_correct)\u003c1e-12)\r\n\r\n%%\r\na = [0.840896415253715 0.999994711720674];\r\nn = [2 17];\r\n[p,a0] = recurrence1(n,a);\r\np_correct = 1/2;\r\na0_correct = 1/2;\r\nassert(abs(p-p_correct)\u003c1e-10 \u0026\u0026 abs(a0-a0_correct)\u003c1e-10)\r\n\r\n%%\r\na = [3.236570233533632 6.5197372744901154];\r\nn = [53 100];\r\n[p,a0] = recurrence1(n,a);\r\np_correct = 1.01;\r\na0_correct = 2;\r\nassert(abs(p-p_correct)\u003c1e-12 \u0026\u0026 abs(a0-a0_correct)\u003c1e-12)\r\n\r\n%%\r\na = [27.065907669081142 6576132142.795870];\r\nn = [4 8];\r\n[p,a0] = recurrence1(n,a);\r\np_correct = (1+sqrt(5))/2;\r\na0_correct = (1+sqrt(5))/2;\r\nassert(abs(p-p_correct)\u003c1e-12 \u0026\u0026 abs(a0-a0_correct)\u003c1e-12)\r\n\r\n%%\r\na = [1.033024879021228 1.000000123944382];\r\nn = [2 8];\r\n[p,a0] = recurrence1(n,a);\r\np_correct = 1/8;\r\na0_correct = 8;\r\nassert(abs(p-p_correct)\u003c1e-10 \u0026\u0026 abs(a0-a0_correct)\u003c1e-9)","published":true,"deleted":false,"likes_count":1,"comments_count":1,"created_by":46909,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":24,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2021-04-02T16:23:14.000Z","updated_at":"2026-01-13T13:35:21.000Z","published_at":"2021-04-02T16:27:43.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\u003eConsider the difference equation \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"a_{n+1} = a_n^p\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ea_{n+1} = a_n^p\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e with the initial (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"n = 0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en = 0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e) value \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"a0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ea_0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. If \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"a0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ea_0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e is 2 and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"p = 2\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ep = 2\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, then \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"a1 = 4\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ea_1 = 4\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"a2 = 16\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ea_2 = 16\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"a3 = 256\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ea_3= 256\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, etc. \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 that takes two values of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"n\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and the corresponding values of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"a_n\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ea_n\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003eand returns the initial value \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"a0\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ea_0\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and the exponent \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"p\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ep\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. \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":60541,"title":"Compute the number of squares a knight can reach after n moves","description":"Several Cody problems involve knights from chess. They have asked players to find a knight’s tour in a matrix (CP 96), determine whether points are reachable given the moves of a knight and other pieces (CP 1684), calculate the probability that a knight will remain on a chessboard after a given number of moves (CP 45389), determine the number of moves to reach a destination (CP 45433), find when a knight not allowed to revisit squares will be trapped (CP 54780), and list the squares that a knight can reach after one move (CP 57660).\r\nThis problem involves the number of squares on an infinite chessboard that a knight can reach. If the knight starts on the pink square below, then it can reach the eight squares marked “1” after one move and the 33 squares marked “2” after two moves. \r\nWrite a function to compute the number of squares that a knight can reach after n moves. \r\n","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: 500.7px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 250.35px; transform-origin: 407px 250.35px; vertical-align: baseline; \"\u003e\u003cdiv style=\"block-size: 105px; 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 52.5px; text-align: left; transform-origin: 384px 52.5px; white-space-collapse: preserve; 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: 98.425px 8px; transform-origin: 98.425px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eSeveral Cody problems involve \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://en.wikipedia.org/wiki/Knight_(chess)#Movement\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eknights\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: 146.625px 8px; transform-origin: 146.625px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e from chess. They have asked players to find a \u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"/#null\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eknight’s tour\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: 38.5px 8px; transform-origin: 38.5px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e in a matrix (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/96\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 96\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: 6.21667px 8px; transform-origin: 6.21667px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), determine whether points are reachable given the moves of a knight and other pieces (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/1684\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 1684\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: 81.3px 8px; transform-origin: 81.3px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), calculate the probability that a knight will remain on a chessboard after a given number of moves (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/45389\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 45389\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: 114.733px 8px; transform-origin: 114.733px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), determine the number of moves to reach a destination (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/45433\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 45433\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: 206.167px 8px; transform-origin: 206.167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), find when a knight not allowed to revisit squares will be trapped (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/54780\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 54780\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: 42px 8px; transform-origin: 42px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e), and list the squares that a knight can reach after one move (\u003c/span\u003e\u003c/span\u003e\u003ca target='_blank' href = \"https://www.mathworks.com/matlabcentral/cody/problems/57660\"\u003e\u003cspan style=\"\"\u003e\u003cspan style=\"text-decoration-line: underline; \"\u003eCP 57660\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: 4.275px 8px; transform-origin: 4.275px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e).\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-collapse: preserve; 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: 374.567px 8px; transform-origin: 374.567px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThis problem involves the number of squares on an infinite chessboard that a knight can reach. If the knight starts on the pink square below, then it can reach the eight squares marked “1” after one move and the 33 squares marked “2” after two moves. \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-collapse: preserve; 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: 277.958px 8px; transform-origin: 277.958px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to compute the number of squares that a knight can reach after n moves. \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 284.7px; 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 142.35px; text-align: left; transform-origin: 384px 142.35px; white-space-collapse: preserve; margin-left: 4px; margin-top: 2px; margin-bottom: 9px; margin-right: 10px; \"\u003e\u003cimg class=\"imageNode\" width=\"369\" height=\"279\" style=\"vertical-align: baseline;width: 369px;height: 279px\" src=\"data:image/png;base64,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\" alt=\"Positions reachable by a knight after 1 and 2 moves\" data-image-state=\"image-loaded\"\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function y = knightSq(n)\r\n  y = 8^n;\r\nend","test_suite":"%%\r\nassert(isequal(knightSq(0),1))\r\n\r\n%%\r\nassert(isequal(knightSq(1),8))\r\n\r\n%%\r\nassert(isequal(knightSq(2),33))\r\n\r\n%%\r\nassert(isequal(knightSq(21),3172))\r\n\r\n%%\r\nassert(isequal(knightSq(67),31692))\r\n\r\n%%\r\nassert(isequal(knightSq(212),315457))\r\n\r\n%%\r\nassert(isequal(knightSq(670),3144981))\r\n\r\n%%\r\nassert(isequal(knightSq(2118),31409941))\r\n\r\n%%\r\nassert(isequal(knightSq(6699),314163004))\r\n\r\n%%\r\nassert(isequal(knightSq(21184),3141417729))\r\n\r\n%%\r\nassert(isequal(knightSq(66992),31415764417))\r\n\r\n%%\r\nassert(isequal(knightSq(211849),314160839004))\r\n\r\n%%\r\nassert(isequal(knightSq(669924),3141589840129))\r\n\r\n%%\r\nassert(isequal(knightSq(knightSq(knightSq(5))),509156381452))\r\n\r\n%%\r\nm = randi([1001 50000]);\r\nassert(all(diff(diff(diff(arrayfun(@knightSq,m:m+randi([5 15])))))==0))","published":true,"deleted":false,"likes_count":0,"comments_count":0,"created_by":46909,"edited_by":46909,"edited_at":"2024-06-15T15:27:46.000Z","deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2024-06-15T15:27:39.000Z","updated_at":"2025-07-26T06:24:29.000Z","published_at":"2024-06-15T15:27:46.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\u003eSeveral Cody problems involve \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Knight_(chess)#Movement\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eknights\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:rPr/\u003e\u003cw:t\u003e from chess. They have asked players to find a \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eknight’s tour\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e in a matrix (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/96\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 96\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), determine whether points are reachable given the moves of a knight and other pieces (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/1684\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 1684\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), calculate the probability that a knight will remain on a chessboard after a given number of moves (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/45389\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 45389\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), determine the number of moves to reach a destination (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/45433\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 45433\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), find when a knight not allowed to revisit squares will be trapped (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/54780\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 54780\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e), and list the squares that a knight can reach after one move (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://www.mathworks.com/matlabcentral/cody/problems/57660\\\"\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:u/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eCP 57660\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis problem involves the number of squares on an infinite chessboard that a knight can reach. If the knight starts on the pink square below, then it can reach the eight squares marked “1” after one move and the 33 squares marked “2” after two moves. \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 compute the number of squares that a knight can reach after n moves. \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:customXml w:element=\\\"image\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"height\\\" w:val=\\\"279\\\"/\u003e\u003cw:attr w:name=\\\"width\\\" w:val=\\\"369\\\"/\u003e\u003cw:attr w:name=\\\"verticalAlign\\\" w:val=\\\"baseline\\\"/\u003e\u003cw:attr w:name=\\\"altText\\\" w:val=\\\"Positions reachable by a knight after 1 and 2 moves\\\"/\u003e\u003cw:attr w:name=\\\"relationshipId\\\" w:val=\\\"rId1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003c/w:customXml\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\",\"relationship\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/image\",\"target\":\"/media/image1.png\",\"relationshipId\":\"rId1\"}]},{\"partUri\":\"/media/image1.png\",\"contentType\":\"image/png\",\"content\":\"data:image/png;base64,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\",\"relationship\":null}],\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"target\":\"/matlab/document.xml\",\"relationshipId\":\"rId1\"}]}"},{"id":59170,"title":"Determine whether a number is a Zeisel number","description":"Do you know what is interesting about the number 1729? \r\nThat’s right: it’s the third Zeisel number, a number given by , where  and  are the distinct prime factors, related by the recurrence relation . For example, A and B are 1 and 6 for 1729 since 1+6 = 7, 7+6 = 13, 13+6 = 19, and .\r\nWrite a function to determine whether a number is a Zeisel number. If it is, return the values of  and . If not, set  and  to NaN.","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: 146px; display: block; min-width: 0px; padding-block-start: 0px; padding-top: 0px; perspective-origin: 407px 73px; transform-origin: 407px 73px; 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: 178.55px 8px; transform-origin: 178.55px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eDo you know what is interesting about the number 1729? \u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003cdiv style=\"block-size: 65px; 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 32.5px; text-align: left; transform-origin: 384px 32.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: 183.317px 8px; transform-origin: 183.317px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eThat’s right: it’s the third Zeisel number, a number given by \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"72\" height=\"20\" alt=\"p0*p1*p2*...*pn\" style=\"width: 72px; height: 20px;\"\u003e\u003c/span\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: 24.8917px 8px; transform-origin: 24.8917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e, where \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFMAAAAoCAYAAACCV8YCAAAC50lEQVRoQ+2ZvU8VQRTFobcBKxsobDAaaVAKIwWFVlYmfnRUoAWlBqgIBRD4A1RiYakWJsZKSis+Gggh2phQaQUxgR7OeZlrboadt+zufWHf5k5ysrPvzZud+e2ZuTPzens8mRHoNavJK+pxmIYmcJgO05CAYVXuTIdpSMCwKndmPswHKLIAfYWW2hV3mGk6AnE0FJlzmPnOi0v044MZaBC6DQ05zOIQ5ReEyXQE0Z3fHWZ5mPqXDtOGY6sWc5jXUSmtvx0ayfxIyK8bNryOVVWGSXhT0CM1+RLac+gN9CTq9Uvcv60jCYM2VYYpbXiKzMdw8xnX+xDXW8z3QTvQlfD9XeVcgz60qjg1qIgmeFihHjOYL4IT2Za/0ASkh/U73E+GhuauwUp0qFEwP6kh/Qx53uu0gptX4YM1XDk1NC2ZOfM4DONfuN6DuO5KweyEM+vwYkxg3kFPtkJvVnF9ndEzLmb5MCbOS3oKoGuHoQNoDJqHYmfXAVZeG0xgzuIpi+FJqeAizuV8eks5dwP5AYgB6zckL6Yb3WsCk0C4wU8NcR2cNCT5PHazuPiqgp7nisYEIOlIKrCkYP8EIR4MxAFLglVqysgC2wiY2tpZUVymgBMQGIdkZ0QgAiB2oNRJp9/Is2SNvq88zPX6MYYi8x9BPoZ00NEPTsEkp246Q60MU4YqO66hcEf0HtqHpiNHsuxFYRaZNy/bpIXW0rFLeIhxGHrAKL0H7UJc5vyDvkCpJU6TYBKiPpuQl7qJzA9oGYrX3eeGnI7SWfNlO6fotWm7Yd5Nziw0MmJn6i1kmU43LQBVgvkHv74GlY26smTK2hFxH9/UPXwLunamHqZlO523aO/EUV0h93SysIapl0RVDnzpzpsQ/93jJC0vqewL6mT/TesmTJ6s8yCDEVsnRi0C5v66SJK/ShkNv0E86PgANfU0/j+bblpAF3mhl1LWYRpid5gO05CAYVXuTIdpSMCwKnemIcwzUJa2KfZPougAAAAASUVORK5CYII=\" width=\"41.5\" height=\"20\" alt=\"p0 = 1\" style=\"width: 41.5px; height: 20px;\"\u003e\u003c/span\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: 15.5583px 8px; transform-origin: 15.5583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAoCAYAAADpE0oSAAACTUlEQVRYR+1WOS9GQRT19RJBRRQSChIJiTURjQiVSmydylKohISIQoSEH2CJSoVCT1QqS0NEaBQaKktCzzlyr1zzzTzv81maN8nJLG9mzp1z79x5qZx/Kql/4s1JiP9M+UTqROpfUyAJrl+T1t04jtRlWFQAnMhituukvfddS33EJBoCOoEKQ9CP9jLQ45CNoL+SqQFRJ+7FZpuy4TbqFmAWYDsfOAVy5XuDUSSWDVHEw3JCbnQHDABW2lX0B4VlCvVCLEaZFEW8ZWTtQ5t9WxbRGZeBNdR0T+wSRfwsUl6hbgYeIoh/7MT1IDkWoiXUE56j7GKsXcY7jBu4ljHQBuSFlAideBIL5mXTUOCoIvR/lVGExN3iBsYEjUorIeJDzGwEQjLbwPPJrIYHXRAifhUTQ0HzlWHqhuA18xHTb1zI4otmPc0LvrcCmtGsnHQDUeyTmWM+Yns/C43vOF+DjqRdgC9l6hwmGiYhohZ4BPbVUB/xJT5qqrTE3GAduABGAyelcaqIplIqOAZM2zUuMR+Ae5GH0XoOnAHVwBOwA7iJxFVT/V+OD8z7VIbGfMoDLrGNVp9/XRJfn4HJ27ABlALejOYS2zTp+jcOqQ1Mzj8CmnwLXeJbTCoSiyvjMDlzNDDp3xnZi5Jfu3tZYpsmM076sjEDswSoEYn5iGh0098fBlhie42+87hrYNK/VIv9G4BvNhPJHMCfifcgIzEt4SPAyLXlAB0akyZTwAX642DVYrDykUm7gnH+uQI82Q0nxNnpl8HqROoMxMpu6hutdXkp4PeddQAAAABJRU5ErkJggg==\" width=\"15\" height=\"20\" alt=\"pk\" style=\"width: 15px; height: 20px;\"\u003e\u003c/span\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: 93.725px 8px; transform-origin: 93.725px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e are the distinct prime factors, related by the recurrence relation \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-6px\"\u003e\u003cimg src=\"data:image/png;base64,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\" width=\"96.5\" height=\"20\" alt=\"pk = Ap(k-1)+b\" style=\"width: 96.5px; height: 20px;\"\u003e\u003c/span\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: 215.883px 8px; transform-origin: 215.883px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. For example, A and B are 1 and 6 for 1729 since 1+6 = 7, 7+6 = 13, 13+6 = 19, and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"vertical-align:-5px\"\u003e\u003cimg src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQMAAAAkCAYAAACND1/xAAAHmElEQVR4Xu1cW8i1QxT235NwxQWFi/8PUXKIXJBDiRTllPSHnEqSQ0iSRDlcuHIo9efCqSiRcsgFkUPKIXGBInFFivvf83zN8q9mzzuz5p3Ze769rV2r/X7fOzPvrDXPembNzHr3jv384xZwC7gFYIEdbgW3gFvALUALOBk4DtwCboEtCzgZOBDcAm4BJwPHgFvALbDPAh4ZOBrcAm4BjwwcA24Bt8C8yOBGVLsfchHk8wFG/A7P3Gl87isod5mxbM9iB6OxuyFXQQ4zNMzyNwSbnhLKf4/vNyB3Geovu0itPuzPPUEfXh8YhPrw/38uu8NLbt/qAz2wymfthggu/sH1x5D7ICX/I/avCbanSY6BvAV5PFfXskwQAxwaDH2yoTO9x+QkNPhZRaOXo+zLFeVbi4rT3ISG9odw4A4oNMo6H0FIcJ+GsjLw/JOksKu1YzPrz9HnKDzrzfC8C/D9Y7g+F9+vhuvrVjwuM9VfqFbjA61Ype3puBoLcYem8M26T0HOh1wCeSdUlLEh1h6DJCeaHBlQKQ4eP1dCCHJ+RpABHfsMyIOQnzIj/Dbu0RGPgKxqFiILXwz5C3J96JuFDDh7/AK5GSKOI4N5aWiH5PJ0Rt9l3Jqjjya2FFAZFTwcOnu00ncZ/e/Z5hwfaMXqM8HfSAjPBWVOxPctEJmQp/yQzyZ2noUw4tQfTVJJXOXIgGwiIH0U13eGlldNBgTaz5CzILnwiCB+CbLqJYK20yd4Phm9RAacac6ETC1l/sY9ki+Z/bye6Da0NUcfwUeOiEfqZFA7WaTWB1qxSod9P/haahLgZMdIi58Y5/w/7/NDzEhUoBWT+kl8WpYJbGwkGdBAZ0MeKYyosOKqlwi6W1YyYF/JzlPRi7SzamKLTWzV5zdU5KzF5c6pE+OkgbxO0YGoY/GBVqzK0nZqkiA5/RA69Du+9b6U4D9HyDpCW4gO1oEMChzw323OPPycAJGIxlq3Vzmr85SeJxtQI4mNfbToowGai2S0M91rIPeSjVZ930IG1j5NYZXjfjUkFwELNuLZXQg5F5Xq6GFhrDaFDGSJkJuZrAPVUs7iPKX2xblG62IlgyzAlLJ6Vhod8ZTGIHW/Fxm0YlUwFm8w7w2dzpGB3jeIIwtzOnIvQ8wZBEsdCZFGbLjp/rWSgWzEfY1Gc8sIi016lLHoo8kgR2BW0ujR72W00csHWrEqkUG8SShkQN1zk/wkaWxKZLAdlgjWmXQKqHSWPRCuvcnat0FWeTya6peFDEhgf6jKU5iaSwbaCVucvHXjuxcZtGBVbM3ZP95Q17kNUxuItN9Gk0Fr2NUCsLiuxXniOvEZtr6fOiLq2d9SW1Z9NBCn9jlknPjMmlOSTSKDVqwSK8wjSOGCR5JytD2FG03cC8uJEZEBFToIUjodKAFV7reGXZIFyPyF1pnY6jwp3diPc0JEoBNOajcRR+ijHX1hLRqUzR2LWcd6ZLkekUErVrlJyM+xkPgkintNX0IkHyh1YqP3bYbvGWiD1swOORC0hF1sVxyY16273C1koHXULF9rp1H6CNCpB4EmCWJH4vpWCFOTJWmm1c4jSKEHGbRglc9nmnvudQCJHGgfzvyMIt6DcPJlevJxagyGnybo2WFqBqkZ6Nawi8+SZBhet+5y9yID9sVyVJSy1Uh9JCf+tDBDcYy/gTwBuR3CfYPUerdmzEeVbSWDFqxKSjcT/0oZqTwxuAPCjF2SL+39LWRPIAXJBB2eZ8COvh5GkzNHSbHSwLeGXWyfbMp87V8hpTPeUn96koFEB6VsxrhP21EfnYsw8p2L0vjl7reSwVysis/08Bc9wSzk44zYM2gZEF1X76yOTDTSfepJBgK+kfkGvfTR2XG1LyttwgbiXKz2JAK9hEi+rLTOZCDKjXSWmNh6OQ/blchg5Pq6hz76SHHOMmwTyGAOVi1EQJKxvJAn70xwc5GR2empeutMBrL/MNJZlkkGsnPMtd+6pldrEJK0+WqtBby9osee7bQsE2qxKslnz0OB3Kkb2+V+TOqlpFTEyj2cyQ3IdSWDXPJFTwDUtmWdSTnrHw/5AJJ6t5xhNR2nNqSu7W+pvFWfVDuc2QjmnZB1JwLqN5cMarEqRMBn8hRm6sMN2cMhuzJl2NaLEEZnWSJgG1Yy0MdVtefeJcDNuS9h13bajNKzIHU6BDI1C+odf30MJ0dAHGQCocT4c2xnrVOjT9ymbGLy/y9A4nfrrX3YTuXm+kANVvXvQlh0z0XFJIAnISRj4uiKDB63nlX6PQPOWhdC9I8qsB7Xfkxw6JU4ZFFcl5Gwa/JXW2obbChPo18L4UwuCR9sjqcAdAS+nx4nM/GY6YEwUPJozp783YbXEuUbuldddY4+fAhPDJg0JTkFH+KaYB21xKlWPFGBOrX6QA1Wa34ujfiKN84lcY05BTze5c+kWZYRW6pbI4MehvU2NtcCnP34Yy0kMya5jIxoNtfKec24LHsI8hXkC8i7kKr9GSeD/yt0XG+3QGQBJwOHhFvALeDLBMeAW8AtsM8CHhk4GtwCbgGPDBwDbgG3gEcGjgG3gFvANxAdA24Bt0DKAr5n4LhwC7gFtizwL7wrMkMuFMcWAAAAAElFTkSuQmCC\" width=\"129.5\" height=\"18\" alt=\"1*7*13*19 = 1729\" style=\"width: 129.5px; height: 18px;\"\u003e\u003c/span\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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\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: 292.35px 8px; transform-origin: 292.35px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003eWrite a function to determine whether a number is a Zeisel number. If it is, return the values of \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eA\u003c/span\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: 15.5583px 8px; transform-origin: 15.5583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eB\u003c/span\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: 34.5917px 8px; transform-origin: 34.5917px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e. If not, set \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eA\u003c/span\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: 15.5583px 8px; transform-origin: 15.5583px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e and \u003c/span\u003e\u003c/span\u003e\u003cspan style=\"font-family: \u0026quot;STIXGeneral\u0026quot;, \u0026quot;STIXGeneral-webfont\u0026quot;, serif; font-style: italic; font-weight: 400; color: rgb(0, 0, 0);\"\u003eB\u003c/span\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: 9.71667px 8px; transform-origin: 9.71667px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e to \u003c/span\u003e\u003c/span\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: 11.55px 8px; transform-origin: 11.55px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"font-family: Menlo, Monaco, Consolas, \u0026quot;Courier New\u0026quot;, monospace; \"\u003eNaN\u003c/span\u003e\u003c/span\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: 1.94167px 8px; transform-origin: 1.94167px 8px; unicode-bidi: normal; \"\u003e\u003cspan style=\"\"\u003e.\u003c/span\u003e\u003c/span\u003e\u003c/div\u003e\u003c/div\u003e\u003c/div\u003e","function_template":"function [tf,A,B] = isZeisel(n)\r\n  tf = isunique(factor(n));\r\n  A = NaN;\r\n  B = NaN;\r\nend","test_suite":"%%\r\n[tf,A,B] = isZeisel(1729);\r\nassert(tf \u0026\u0026 isequal(A,1) \u0026\u0026 isequal(B,6))\r\n\r\n%%\r\nassert(all(~arrayfun(@isZeisel,1:104)))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(5719);\r\nassert(tf \u0026\u0026 isequal(A,2) \u0026\u0026 isequal(B,5))\r\n\r\n%%\r\np = primes(20);\r\nassert(~isZeisel(p(randi(8)).^randi(10)))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(27559);\r\nassert(tf \u0026\u0026 isequal(A,4) \u0026\u0026 isequal(B,3))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(233569);\r\nassert(tf \u0026\u0026 isequal(A,9) \u0026\u0026 isequal(B,-2))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(323569);\r\nassert(~tf \u0026\u0026 isnan(A) \u0026\u0026 isnan(B))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(507579);\r\nassert(tf \u0026\u0026 isequal(A,34) \u0026\u0026 isequal(B,-31))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(13725848369);\r\nassert(tf \u0026\u0026 isequal(A,51) \u0026\u0026 isequal(B,-4))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(13725884369);\r\nassert(~tf \u0026\u0026 isnan(A) \u0026\u0026 isnan(B))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(1123229795249);\r\nassert(tf \u0026\u0026 isequal(A,636) \u0026\u0026 isequal(B,-619))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(104177289494129);\r\nassert(tf \u0026\u0026 isequal(A,93) \u0026\u0026 isequal(B,410))\r\n\r\n%%\r\n[tf,A,B] = isZeisel(999965521635409);\r\nassert(tf \u0026\u0026 isequal(A,15831) \u0026\u0026 isequal(B,-15824))\r\n\r\n%%\r\nn = 100*polyval(randi(9,[1 8]),10)+4*randi(24);\r\nassert(~isZeisel(n))\r\n\r\n%%\r\nfiletext = fileread('isZeisel.m');\r\nillegal = contains(filetext, 'assignin') || contains(filetext, 'assert') || contains(filetext,'regexp') || contains(filetext,'oeis') || contains(filetext,'read'); \r\nassert(~illegal)\r\n","published":true,"deleted":false,"likes_count":1,"comments_count":2,"created_by":46909,"edited_by":46909,"edited_at":"2023-11-11T14:45:27.000Z","deleted_by":null,"deleted_at":null,"solvers_count":7,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2023-11-11T14:45:15.000Z","updated_at":"2024-12-20T14:17:19.000Z","published_at":"2023-11-11T14:45:28.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\u003eDo you know what is interesting about the number 1729? \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\u003eThat’s right: it’s the third Zeisel number, a number given by \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"p0*p1*p2*...*pn\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ep_0p_1p_2\\\\cdots p_n\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e, where \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"p0 = 1\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ep_0 = 1\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"pk\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ep_k\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e are the distinct prime factors, related by the recurrence relation \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"pk = Ap(k-1)+b\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003ep_k = Ap_{k-1} + B\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. For example, A and B are 1 and 6 for 1729 since 1+6 = 7, 7+6 = 13, 13+6 = 19, and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"1*7*13*19 = 1729\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003e1\\\\cdot7\\\\cdot13\\\\cdot19 = 1729\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\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\u003cw:jc w:val=\\\"left\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWrite a function to determine whether a number is a Zeisel number. If it is, return the values of \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"A\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"B\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eB\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e. If not, set \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"A\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eA\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e and \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:customXml w:element=\\\"equation\\\"\u003e\u003cw:customXmlPr\u003e\u003cw:attr w:name=\\\"displayStyle\\\" w:val=\\\"false\\\"/\u003e\u003cw:attr w:name=\\\"altTextString\\\" w:val=\\\"B\\\"/\u003e\u003c/w:customXmlPr\u003e\u003cw:r\u003e\u003cw:t\u003eB\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:customXml\u003e\u003cw:r\u003e\u003cw:t\u003e to \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:rFonts w:cs=\\\"monospace\\\"/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eNaN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\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":8057,"title":"(Linear) Recurrence Equations - Generalised Fibonacci-like sequences","description":"This problem is inspired by problems \u003chttp://uk.mathworks.com/matlabcentral/cody/problems/2187-generalized-fibonacci 2187\u003e, \u003chttp://uk.mathworks.com/matlabcentral/cody/problems/3092-return-fibonacci-sequence-do-not-use-loop-and-condition 3092\u003e and \u003chttp://uk.mathworks.com/matlabcentral/cody/?term=tag%3A%22fibonacci%22 other problems\u003e based on Fibonacci sequence.\r\n\r\nI haven't seen here many problems based on other recursive sequences such as \u003chttp://oeis.org/A000032 Lucas numbers\u003e, \u003chttp://oeis.org/A000129 Pell numbers\u003e, \u003chttp://oeis.org/A000931 Padovan sequence\u003e or \u003chttp://oeis.org/A000073 Tribonacci numbers\u003e so this is a problem about them all.\r\n\r\nYour function input will be _N_, _Init_ and _Rules_. _Init_ and _Rules_ represent initial values of sequence and a kernel which denotes recurrence relation:\r\n\r\n    Init  : [ A1 A2 ... Ak]\r\n    Rules : [ Ck ... C2 C1]\r\n  \r\n    function: f(n) = (Ck) * f(n-k) + ... + (C2) * f(n-2) + (C1) * f(n-1)\r\n              and f(1) = A1, f(2) = A2, ..., f(k) = Ak,\r\n\r\n_Init_ and _Rules_ have the same length, _N_ may be a single number or a vector. Your function should return values of _f(N)_. Example:\r\n\r\n   % Fibonacci sequence:      f(1)=f(2)=1, f(n)=f(n-2)+f(n-1)\r\n    \u003e\u003e Init = [1 1];\r\n    \u003e\u003e Rules = [1 1];\r\n    \u003e\u003e N = 1:10;\r\n    \u003e\u003e fibonacci = recurrence_seq(N,Init,Rules),\r\n    fibonacci = \r\n        1   1   2   3   5   8  13  21  34  55\r\n   \r\n    \r\n     \r\n\r\nOther info:\r\n\r\n* Different approaches may lead to solutions which won't be able to compute _f(n)_ for _n_ being equal 0 or negative integer. If your solution doesn't return correct answer for those numbers it will still pass if it returns NaNs for _n\u003c1_.\r\n* Please, try to avoid unnecessary things like strings, _ans_, etc. ","description_html":"\u003cp\u003eThis problem is inspired by problems \u003ca href = \"http://uk.mathworks.com/matlabcentral/cody/problems/2187-generalized-fibonacci\"\u003e2187\u003c/a\u003e, \u003ca href = \"http://uk.mathworks.com/matlabcentral/cody/problems/3092-return-fibonacci-sequence-do-not-use-loop-and-condition\"\u003e3092\u003c/a\u003e and \u003ca href = \"http://uk.mathworks.com/matlabcentral/cody/?term=tag%3A%22fibonacci%22\"\u003eother problems\u003c/a\u003e based on Fibonacci sequence.\u003c/p\u003e\u003cp\u003eI haven't seen here many problems based on other recursive sequences such as \u003ca href = \"http://oeis.org/A000032\"\u003eLucas numbers\u003c/a\u003e, \u003ca href = \"http://oeis.org/A000129\"\u003ePell numbers\u003c/a\u003e, \u003ca href = \"http://oeis.org/A000931\"\u003ePadovan sequence\u003c/a\u003e or \u003ca href = \"http://oeis.org/A000073\"\u003eTribonacci numbers\u003c/a\u003e so this is a problem about them all.\u003c/p\u003e\u003cp\u003eYour function input will be \u003ci\u003eN\u003c/i\u003e, \u003ci\u003eInit\u003c/i\u003e and \u003ci\u003eRules\u003c/i\u003e. \u003ci\u003eInit\u003c/i\u003e and \u003ci\u003eRules\u003c/i\u003e represent initial values of sequence and a kernel which denotes recurrence relation:\u003c/p\u003e\u003cpre\u003e    Init  : [ A1 A2 ... Ak]\r\n    Rules : [ Ck ... C2 C1]\u003c/pre\u003e\u003cpre\u003e    function: f(n) = (Ck) * f(n-k) + ... + (C2) * f(n-2) + (C1) * f(n-1)\r\n              and f(1) = A1, f(2) = A2, ..., f(k) = Ak,\u003c/pre\u003e\u003cp\u003e\u003ci\u003eInit\u003c/i\u003e and \u003ci\u003eRules\u003c/i\u003e have the same length, \u003ci\u003eN\u003c/i\u003e may be a single number or a vector. Your function should return values of \u003ci\u003ef(N)\u003c/i\u003e. Example:\u003c/p\u003e\u003cpre\u003e   % Fibonacci sequence:      f(1)=f(2)=1, f(n)=f(n-2)+f(n-1)\r\n    \u0026gt;\u0026gt; Init = [1 1];\r\n    \u0026gt;\u0026gt; Rules = [1 1];\r\n    \u0026gt;\u0026gt; N = 1:10;\r\n    \u0026gt;\u0026gt; fibonacci = recurrence_seq(N,Init,Rules),\r\n    fibonacci = \r\n        1   1   2   3   5   8  13  21  34  55\u003c/pre\u003e\u003cp\u003eOther info:\u003c/p\u003e\u003cul\u003e\u003cli\u003eDifferent approaches may lead to solutions which won't be able to compute \u003ci\u003ef(n)\u003c/i\u003e for \u003ci\u003en\u003c/i\u003e being equal 0 or negative integer. If your solution doesn't return correct answer for those numbers it will still pass if it returns NaNs for \u003ci\u003en\u0026lt;1\u003c/i\u003e.\u003c/li\u003e\u003cli\u003ePlease, try to avoid unnecessary things like strings, \u003ci\u003eans\u003c/i\u003e, etc.\u003c/li\u003e\u003c/ul\u003e","function_template":"function values = recurrence_seq(N, Init, Rules)\r\n  values = N;\r\n  values(N\u003c1) = NaN;\r\n\r\n\r\n\r\nend","test_suite":"%% Fibonacci\r\nInit = [1,1];\r\nRules = [1,1];\r\nN = 1:10;\r\nvalues_correct = [1 1 2 3 5 8 13 21 34 55];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% Fibonacci - shifted\r\nInit = [2,3];\r\nRules = [1,1];\r\nN = 1:10;\r\nvalues_correct = [2, 3, 5, 8, 13, 21, 34, 55, 89, 144];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% Fibonacci - negative n\r\nInit = [1,1];\r\nRules = [1,1];\r\nN = -5:5;\r\nvalues_correct = [5, -3, 2, -1, 1, 0, 1, 1, 2, 3, 5];\r\nvalues_accepted = [nan, nan, nan, nan, nan, nan, 1, 1, 2, 3, 5];\r\nvalues = recurrence_seq(N, Init, Rules);\r\nassert(isequal(values,values_correct)||isequaln(values,values_accepted))\r\n%% Lucas numbers\r\nInit = [1,3];\r\nRules = [1,1];\r\nN = 1:10;\r\nvalues_correct = [1, 3, 4, 7, 11, 18, 29, 47, 76, 123];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% Padovan sequence\r\nInit = [1, 1, 1];\r\nRules = [1, 1, 0];\r\nN = 4:21;\r\nvalues_correct = [2, 2, 3, 4, 5, 7, 9, 12, 16, 21, 28, 37, 49, 65, 86, 114, 151, 200];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% Pell numbers\r\nInit = [0, 1];\r\nRules = [1, 2];\r\nN = 4:3:19;\r\nvalues_correct = [5, 70, 985, 13860, 195025, 2744210];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% 3^n-2^n sequence\r\nInit = [3-2, 9-4];\r\nRules = [-6 5];\r\nN = 1:10;\r\nvalues_correct = [1, 5, 19, 65, 211, 665, 2059, 6305, 19171, 58025];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% Perrin sequence\r\nInit = [3, 0, 2];\r\nRules = [1, 1, 0];\r\nN = [28:38, 10:-1:1];\r\nvalues_correct = [1983, 2627, 3480, 4610, 6107, 8090, 10717, 14197, 18807, 24914, 33004, 12, 10, 7, 5, 5, 2, 3, 2, 0, 3];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% \r\nInit = [3, 0, 2]; % Perrin init\r\nRules = [1, 1, 1]; % Tribonacci rules\r\nN = [1:15];\r\nvalues_correct = [3, 0, 2, 5, 7, 14, 26, 47, 87, 160, 294, 541, 995, 1830, 3366];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% Tribonacci\r\nInit = [0, 0, 1];\r\nRules = [1, 1, 1];\r\nN = [1:23];\r\nvalues_correct = [0, 0, 1, 1, 2, 4, 7, 13, 24, 44, 81, 149, 274, 504, 927, 1705, 3136, 5768, 10609, 19513, 35890, 66012, 121415];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% Tetranacci\r\nInit = [0, 0, 0, 1];\r\nRules = [1, 1, 1, 1];\r\nN = [20:23];\r\nvalues_correct = [20569, 39648, 76424, 147312];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% Heptanacci\r\nInit = [0, 0, 0, 0, 0, 0, 1];\r\nRules = [1, 1, 1, 1, 1, 1, 1];\r\nN = [7:15, 19];\r\nvalues_correct = [1, 1, 2, 4, 8, 16, 32, 64, 127, 2000];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%%\r\nInit = [1, -1];\r\nRules = [1, -1];\r\nN = 1:10;\r\nvalues_correct = [1, -1, 2, -3, 5, -8, 13, -21, 34, -55];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%%\r\nInit = [1, -1];\r\nRules = [-1, 1];\r\nN = 1:10;\r\nvalues_correct = [1, -1, -2, -1, 1, 2, 1, -1, -2, -1];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%%\r\nInit = [1, -1];\r\nRules = [1, 1];\r\nN = 1:10;\r\nvalues_correct = [1, -1, 0, -1, -1, -2, -3, -5, -8, -13];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%%\r\nInit = [1, 1];\r\nRules = [2, -1];\r\nN = 1:10;\r\nvalues_correct = ones(1,10);\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%%\r\nInit = [1, 2];\r\nRules = [2, -1];\r\nN = 1:10;\r\nvalues_correct = [1, 2, 0, 4, -4, 12, -20, 44, -84, 172];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% Jacobsthal numbers\r\nInit = [0, 1];\r\nRules = [2, 1];\r\nN = 1:10;\r\nvalues_correct = [0, 1, 1, 3, 5, 11, 21, 43, 85, 171];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%% A028242\r\nInit = [1, 0, 2];\r\nRules = [-1 1 1];\r\nN = 1:20;\r\nvalues_correct = [1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 7, 6, 8, 7, 9, 8, 10, 9];\r\nassert(isequal(recurrence_seq(N, Init, Rules),values_correct))\r\n%%\r\n\r\n","published":true,"deleted":false,"likes_count":18,"comments_count":3,"created_by":14358,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":414,"test_suite_updated_at":"2015-04-02T15:23:44.000Z","rescore_all_solutions":false,"group_id":1,"created_at":"2015-04-02T14:52:53.000Z","updated_at":"2026-03-26T04:58:55.000Z","published_at":"2015-04-02T14:54:17.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eThis problem is inspired by problems\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://uk.mathworks.com/matlabcentral/cody/problems/2187-generalized-fibonacci\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e2187\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e,\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://uk.mathworks.com/matlabcentral/cody/problems/3092-return-fibonacci-sequence-do-not-use-loop-and-condition\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e3092\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://uk.mathworks.com/matlabcentral/cody/?term=tag%3A%22fibonacci%22\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eother problems\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e based on Fibonacci sequence.\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\u003eI haven't seen here many problems based on other recursive sequences such as\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://oeis.org/A000032\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eLucas numbers\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e,\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://oeis.org/A000129\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ePell numbers\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e,\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://oeis.org/A000931\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ePadovan sequence\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e or\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://oeis.org/A000073\\\"\u003e\u003cw:r\u003e\u003cw:t\u003eTribonacci numbers\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e so this is a problem about them all.\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\u003eYour function input will be\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e,\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInit\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eRules\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInit\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eRules\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e represent initial values of sequence and a kernel which denotes recurrence relation:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[    Init  : [ A1 A2 ... Ak]\\n    Rules : [ Ck ... C2 C1]\\n\\n    function: f(n) = (Ck) * f(n-k) + ... + (C2) * f(n-2) + (C1) * f(n-1)\\n              and f(1) = A1, f(2) = A2, ..., f(k) = Ak,]]\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:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eInit\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e and\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eRules\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e have the same length,\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eN\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e may be a single number or a vector. Your function should return values of\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ef(N)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e. Example:\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"code\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003e\u003c![CDATA[   % Fibonacci sequence:      f(1)=f(2)=1, f(n)=f(n-2)+f(n-1)\\n    \u003e\u003e Init = [1 1];\\n    \u003e\u003e Rules = [1 1];\\n    \u003e\u003e N = 1:10;\\n    \u003e\u003e fibonacci = recurrence_seq(N,Init,Rules),\\n    fibonacci = \\n        1   1   2   3   5   8  13  21  34  55]]\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\u003eOther info:\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\u003eDifferent approaches may lead to solutions which won't be able to compute\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003ef(n)\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e for\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e being equal 0 or negative integer. If your solution doesn't return correct answer for those numbers it will still pass if it returns NaNs for\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003en\u0026lt;1\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e.\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\u003ePlease, try to avoid unnecessary things like strings,\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:i/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eans\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e, etc.\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:\"recurrence\"","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:\"recurrence\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"recurrence\"","","\"","recurrence","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fdbe04d5468\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fdbe04d53c8\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fdbe04d4388\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fdbe04d56e8\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fdbe04d5648\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fdbe04d55a8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fdbe04d5508\u003e":"tag:\"recurrence\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fdbe04d5508\u003e":"tag:\"recurrence\""},"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:\"recurrence\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"recurrence\"","","\"","recurrence","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007fdbe04d5468\u003e":null,"#\u003cMathWorks::Search::Field:0x00007fdbe04d53c8\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007fdbe04d4388\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007fdbe04d56e8\u003e":1,"#\u003cMathWorks::Search::Field:0x00007fdbe04d5648\u003e":50,"#\u003cMathWorks::Search::Field:0x00007fdbe04d55a8\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007fdbe04d5508\u003e":"tag:\"recurrence\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007fdbe04d5508\u003e":"tag:\"recurrence\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":51274,"difficulty_rating":"easy-medium"},{"id":60541,"difficulty_rating":"easy-medium"},{"id":59170,"difficulty_rating":"medium"},{"id":8057,"difficulty_rating":"medium-hard"}]}}