Cody

Solution 1937623

Submitted on 16 Sep 2019 by Augusto Mazzei
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
x = 132; y_correct = 123; assert(isequal(find_neighbour(x),y_correct))

st = '0132' y = 123 132 213 231 312 321 1023 1032 1203 1230 1302 1320 2013 2031 2103 2130 2301 2310 3012 3021 3102 3120 3201 3210 ans = 123

2   Pass
x = 182; y_correct = 218; assert(isequal(find_neighbour(x),y_correct))

st = '0182' y = 128 182 218 281 812 821 1028 1082 1208 1280 1802 1820 2018 2081 2108 2180 2801 2810 8012 8021 8102 8120 8201 8210 ans = 218

3   Pass
x = 172; y_correct = [127; 217]; % there are two such numbers, one of them is enough, but you can return both y = sort(find_neighbour(x)); fprintf('%d founded.\n',y) y = y(:); assert(any(y_correct==y))

st = '0172' y = 127 172 217 271 712 721 1027 1072 1207 1270 1702 1720 2017 2071 2107 2170 2701 2710 7012 7021 7102 7120 7201 7210 ans = 127 127 founded.

4   Pass
x = 1; y_correct = 10; assert(isequal(find_neighbour(x),y_correct))

st = '01' y = 1 10 ans = 10

5   Pass
x = 10; y_correct = 1; assert(isequal(find_neighbour(x),y_correct))

st = '010' y = 1 10 100 ans = 1

6   Pass
x = 100; y_correct = 10; assert(isequal(find_neighbour(x),y_correct))

st = '0100' y = 1 10 100 1000 ans = 10

7   Pass
x = 99; y_correct = 909; assert(isequal(find_neighbour(x),y_correct))

st = '099' y = 99 909 990 ans = 909

8   Pass
x = 199; y_correct = 919; assert(isequal(find_neighbour(x),y_correct))

st = '0199' y = 199 919 991 1099 1909 1990 9019 9091 9109 9190 9901 9910 ans = 919

9   Pass
x = 1099; y_correct = 991; assert(isequal(find_neighbour(x),y_correct))

st = '01099' y = 199 919 991 1099 1909 1990 9019 9091 9109 9190 9901 9910 10099 10909 10990 19009 19090 19900 90019 90091 90109 90190 90901 90910 91009 91090 91900 99001 99010 99100 ans = 991

10   Pass
x = 123455; y_correct = 123545; assert(isequal(find_neighbour(x),y_correct))

st = '0123455' y = 123455 123545 123554 124355 124535 124553 125345 125354 125435 125453 125534 125543 132455 132545 132554 134255 134525 134552 135245 135254 135425 135452 135524 135542 142355 142535 142553 143255 143525 143552 145235 145253 145325 145352 145523 145532 152345 152354 152435 152453 152534 152543 153245 153254 153425 153452 153524 153542 154235 154253 154325 154352 154523 154532 155234 155243 155324 155342 155423 155432 213455 213545 213554 214355 214535 214553 215345 215354 215435 215453 215534 215543 231455 231545 231554 234155 234515 234551 235145 235154 235415 235451 235514 235541 241355 241535 241553 243155 243515 243551 245135 245153 245315 245351 245513 245531 251345 251354 251435 251453 251534 251543 253145 253154 253415 253451 253514 253541 254135 254153 254315 254351 254513 254531 255134 255143 255314 255341 255413 255431 312455 312545 312554 314255 314525 314552 315245 315254 315425 315452 315524 315542 321455 321545 321554 324155 324515 324551 325145 325154 325415 325451 325514 325541 341255 341525 341552 342155 342515 342551 345125 345152 345215 345251 345512 345521 351245 351254 351425 351452 351524 351542 352145 352154 352415 352451 352514 352541 354125 354152 354215 354251 354512 354521 355124 355142 355214 355241 355412 355421 412355 412535 412553 413255 413525 413552 415235 415253 415325 415352 415523 415532 421355 421535 421553 423155 423515 423551 425135 425153 425315 425351 425513 425531 431255 431525 431552 432155 432515 432551 435125 435152 435215 435251 435512 435521 451235 451253 451325 451352 451523 451532 452135 452153 452315 452351 452513 452531 453125 453152 453215 453251 453512 453521 455123 455132 455213 455231 455312 455321 512345 512354 512435 512453 512534 512543 513245 513254 513425 513452 513524 513542 514235 514253 514325 514352 514523 514532 515234 515243 515324 515342 515423 515432 521345 521354 521435 521453 521534 521543 523145 523154 523415 523451 523514 523541 524135 524153 524315 524351 524513 524531 525134 525143 525314 525341 525413 525431 531245 531254 531425 531452 531524 531542 532145 532154 532415 532451 532514 532541 534125 534152 534215 534251 534512 534521 535124 535142 535214 535241 535412 535421 541235 541253 541325 541352 541523 541532 542135 542153 542315 542351 542513 542531 543125 543152 543215 543251 543512 543521 545123 545132 545213 545231 545312 545321 551234 551243 551324 551342 551423 551432 552134 552143 552314 552341 552413 552431 553124 553142 553214 553241 553412 553421 554123 554132 554213 554231 554312 554321 1023455 1023545 1023554 1024355 1024535 1024553 1025345 1025354 1025435 1025453 1025534 1025543 1032455 1032545 1032554 1034255 1034525 1034552 1035245 1035254 1035425 1035452 1035524 1035542 1042355 1042535 1042553 1043255 1043525 1043552 1045235 1045253 1045325 1045352 1045523 1045532 1052345 1052354 1052435 1052453 1052534 1052543 1053245 1053254 1053425 1053452 1053524 1053542 1054235 1054253 1054325 1054352 1054523 1054532 1055234 1055243 1055324 1055342 1055423 1055432 1203455 1203545 1203554 1204355 1204535 1204553 1205345 1205354 1205435 1205453 1205534 1205543 1230455 1230545 1230554 1234055 1234505 1234550 1235045 1235054 1235405 1235450 1235504 1235540 1240355 1240535 1240553 1243055 1243505 1243550 1245035 1245053 1245305 1245350 1245503 1245530 1250345 1250354 1250435 1250453 1250534 1250543 1253045 1253054 1253405 1253450 1253504 1253540 1254035 1254053 1254305 1254350 1254503 1254530 1255034 1255043 1255304 1255340 1255403 1255430 1302455 1302545 1302554 1304255 1304525 1304552 1305245 1305254 1305425 1305452 1305524 1305542 1320455 1320545 1320554 1324055 1324505 1324550 1325045 1325054 1325405 1325450 1325504 1325540 1340255 1340525 1340552 1342055 1342505 1342550 1345025 1345052 1345205 1345250 1345502 1345520 1350245 1350254 1350425 1350452 1350524 1350542 1352045 1352054 1352405 1352450 1352504 1352540 1354025 1354052 1354205 1354250 1354502 1354520 1355024 1355042 1355204 1355240 1355402 1355420 1402355 1402535 1402553 1403255 1403525 1403552 1405235 1405253 1405325 1405352 1405523 1405532 1420355 1420535 1420553 1423055 1423505 1423550 1425035 1425053 1425305 1425350 1425503 1425530 1430255 1430525 1430552 1432055 1432505 1432550 1435025 1435052 1435205 1435250 1435502 1435520 1450235 1450253 1450325 1450352 1450523 1450532 1452035 1452053 1452305 1452350 1452503 1452530 1453025 1453052 1453205 1453250 1453502 1453520 1455023 1455032 1455203 1455230 1455302 1455320 1502345 1502354 1502435 1502453 1502534 1502543 1503245 1503254 1503425 1503452 1503524 1503542 1504235 1504253 1504325 1504352 1504523 1504532 1505234 1505243 1505324 1505342 1505423 1505432 1520345 1520354 1520435 1520453 1520534 1520543 1523045 1523054 1523405 1523450 1523504 1523540 1524035 1524053 1524305 1524350 1524503 1524530 1525034 1525043 1525304 1525340 1525403 1525430 1530245 1530254 1530425 1530452 1530524 1530542 1532045 1532054 1532405 1532450 1532504 1532540 1534025 1534052 1534205 1534250 1534502 1534520 1535024 1535042 1535204 1535240 1535402 1535420 1540235 1540253 1540325 1540352 1540523 1540532 1542035 1542053 1542305 1542350 1542503 1542530 1543025 1543052 1543205 1543250 1543502 1543520 1545023 1545032 1545203 1545230 1545302 1545320 1550234 1550243 1550324 1550342 1550423 1550432 1552034 1552043 1552304 1552340 1552403 1552430 1553024 1553042 1553204 1553240 1553402 1553420 1554023 1554032 1554203 1554230 1554302 1554320 2013455 2013545 2013554 2014355 2014535 2014553 2015345 2015354 2015435 2015453 2015534 2015543 2031455 2031545 2031554 2034155 2034515 2034551 2035145 2035154 2035415 2035451 2035514 2035541 2041355 2041535 2041553 2043155 2043515 2043551 2045135 2045153 2045315 2045351 2045513 2045531 2051345 2051354 2051435 2051453 2051534 2051543 2053145 2053154 2053415 2053451 2053514 ...

11   Pass
x = 56565656; y_correct = 56565665; assert(isequal(find_neighbour(x),y_correct))

st = '056565656' y = 55556666 55565666 55566566 55566656 55566665 55655666 55656566 55656656 55656665 55665566 55665656 55665665 55666556 55666565 55666655 56555666 56556566 56556656 56556665 56565566 56565656 56565665 56566556 56566565 56566655 56655566 56655656 56655665 56656556 56656565 56656655 56665556 56665565 56665655 56666555 65555666 65556566 65556656 65556665 65565566 65565656 65565665 65566556 65566565 65566655 65655566 65655656 65655665 65656556 65656565 65656655 65665556 65665565 65665655 65666555 66555566 66555656 66555665 66556556 66556565 66556655 66565556 66565565 66565655 66566555 66655556 66655565 66655655 66656555 66665555 505556666 505565666 505566566 505566656 505566665 505655666 505656566 505656656 505656665 505665566 505665656 505665665 505666556 505666565 505666655 506555666 506556566 506556656 506556665 506565566 506565656 506565665 506566556 506566565 506566655 506655566 506655656 506655665 506656556 506656565 506656655 506665556 506665565 506665655 506666555 550556666 550565666 550566566 550566656 550566665 550655666 550656566 550656656 550656665 550665566 550665656 550665665 550666556 550666565 550666655 555056666 555065666 555066566 555066656 555066665 555506666 555560666 555566066 555566606 555566660 555605666 555606566 555606656 555606665 555650666 555656066 555656606 555656660 555660566 555660656 555660665 555665066 555665606 555665660 555666056 555666065 555666506 555666560 555666605 555666650 556055666 556056566 556056656 556056665 556065566 556065656 556065665 556066556 556066565 556066655 556505666 556506566 556506656 556506665 556550666 556556066 556556606 556556660 556560566 556560656 556560665 556565066 556565606 556565660 556566056 556566065 556566506 556566560 556566605 556566650 556605566 556605656 556605665 556606556 556606565 556606655 556650566 556650656 556650665 556655066 556655606 556655660 556656056 556656065 556656506 556656560 556656605 556656650 556660556 556660565 556660655 556665056 556665065 556665506 556665560 556665605 556665650 556666055 556666505 556666550 560555666 560556566 560556656 560556665 560565566 560565656 560565665 560566556 560566565 560566655 560655566 560655656 560655665 560656556 560656565 560656655 560665556 560665565 560665655 560666555 565055666 565056566 565056656 565056665 565065566 565065656 565065665 565066556 565066565 565066655 565505666 565506566 565506656 565506665 565550666 565556066 565556606 565556660 565560566 565560656 565560665 565565066 565565606 565565660 565566056 565566065 565566506 565566560 565566605 565566650 565605566 565605656 565605665 565606556 565606565 565606655 565650566 565650656 565650665 565655066 565655606 565655660 565656056 565656065 565656506 565656560 565656605 565656650 565660556 565660565 565660655 565665056 565665065 565665506 565665560 565665605 565665650 565666055 565666505 565666550 566055566 566055656 566055665 566056556 566056565 566056655 566065556 566065565 566065655 566066555 566505566 566505656 566505665 566506556 566506565 566506655 566550566 566550656 566550665 566555066 566555606 566555660 566556056 566556065 566556506 566556560 566556605 566556650 566560556 566560565 566560655 566565056 566565065 566565506 566565560 566565605 566565650 566566055 566566505 566566550 566605556 566605565 566605655 566606555 566650556 566650565 566650655 566655056 566655065 566655506 566655560 566655605 566655650 566656055 566656505 566656550 566660555 566665055 566665505 566665550 605555666 605556566 605556656 605556665 605565566 605565656 605565665 605566556 605566565 605566655 605655566 605655656 605655665 605656556 605656565 605656655 605665556 605665565 605665655 605666555 606555566 606555656 606555665 606556556 606556565 606556655 606565556 606565565 606565655 606566555 606655556 606655565 606655655 606656555 606665555 650555666 650556566 650556656 650556665 650565566 650565656 650565665 650566556 650566565 650566655 650655566 650655656 650655665 650656556 650656565 650656655 650665556 650665565 650665655 650666555 655055666 655056566 655056656 655056665 655065566 655065656 655065665 655066556 655066565 655066655 655505666 655506566 655506656 655506665 655550666 655556066 655556606 655556660 655560566 655560656 655560665 655565066 655565606 655565660 655566056 655566065 655566506 655566560 655566605 655566650 655605566 655605656 655605665 655606556 655606565 655606655 655650566 655650656 655650665 655655066 655655606 655655660 655656056 655656065 655656506 655656560 655656605 655656650 655660556 655660565 655660655 655665056 655665065 655665506 655665560 655665605 655665650 655666055 655666505 655666550 656055566 656055656 656055665 656056556 656056565 656056655 656065556 656065565 656065655 656066555 656505566 656505656 656505665 656506556 656506565 656506655 656550566 656550656 656550665 656555066 656555606 656555660 656556056 656556065 656556506 656556560 656556605 656556650 656560556 656560565 656560655 656565056 656565065 656565506 656565560 656565605 656565650 656566055 656566505 656566550 656605556 656605565 656605655 656606555 656650556 656650565 656650655 656655056 656655065 656655506 656655560 656655605 656655650 656656055 656656505 656656550 656660555 656665055 656665505 656665550 660555566 660555656 660555665 660556556 660556565 660556655 660565556 660565565 660565655 660566555 660655556 660655565 660655655 660656555 660665555 665055566 665055656 665055665 665056556 665056565 665056655 665065556 665065565 665065655 665066555 665505566 665505656 665505665 665506556 665506565 665506655 665550566 665550656 665550665 665555066 665555606 665555660 665556056 665556065 665556506 665556560 665556605 665556650 665560556 665560565 665560655 665565056 665565065 665565506 665565560 665565605 665565650 665566055 665566505 665566550 665605556 665605565 665605655 665606555 665650556 665650565 665650655 665655056 665655065 665655506 665655560 665655605 665655650 665656055 665656505 665656550 665660555 665665055 665665505 665665550 666055556 666055565 666055655 666056555 666065555 666505556 666505565 666505655 666506555 666550556 666550565 666550655 666555056 666555065 666555506 666555560 666555605 666555650 666556055 666556505 666556550 666560555 666565055 666565505 666565550 666605555 666650555 666655055 666655505 666655550 ans = 56565665

12   Pass
x = 8761199; y_correct = 8761919; assert(isequal(find_neighbour(x),y_correct))

st = '08761199' y = 1167899 1167989 1167998 1168799 1168979 1168997 1169789 1169798 1169879 1169897 1169978 1169987 1176899 1176989 1176998 1178699 1178969 1178996 1179689 1179698 1179869 1179896 1179968 1179986 1186799 1186979 1186997 1187699 1187969 1187996 1189679 1189697 1189769 1189796 1189967 1189976 1196789 1196798 1196879 1196897 1196978 1196987 1197689 1197698 1197869 1197896 1197968 1197986 1198679 1198697 1198769 1198796 1198967 1198976 1199678 1199687 1199768 1199786 1199867 1199876 1617899 1617989 1617998 1618799 1618979 1618997 1619789 1619798 1619879 1619897 1619978 1619987 1671899 1671989 1671998 1678199 1678919 1678991 1679189 1679198 1679819 1679891 1679918 1679981 1681799 1681979 1681997 1687199 1687919 1687991 1689179 1689197 1689719 1689791 1689917 1689971 1691789 1691798 1691879 1691897 1691978 1691987 1697189 1697198 1697819 1697891 1697918 1697981 1698179 1698197 1698719 1698791 1698917 1698971 1699178 1699187 1699718 1699781 1699817 1699871 1716899 1716989 1716998 1718699 1718969 1718996 1719689 1719698 1719869 1719896 1719968 1719986 1761899 1761989 1761998 1768199 1768919 1768991 1769189 1769198 1769819 1769891 1769918 1769981 1781699 1781969 1781996 1786199 1786919 1786991 1789169 1789196 1789619 1789691 1789916 1789961 1791689 1791698 1791869 1791896 1791968 1791986 1796189 1796198 1796819 1796891 1796918 1796981 1798169 1798196 1798619 1798691 1798916 1798961 1799168 1799186 1799618 1799681 1799816 1799861 1816799 1816979 1816997 1817699 1817969 1817996 1819679 1819697 1819769 1819796 1819967 1819976 1861799 1861979 1861997 1867199 1867919 1867991 1869179 1869197 1869719 1869791 1869917 1869971 1871699 1871969 1871996 1876199 1876919 1876991 1879169 1879196 1879619 1879691 1879916 1879961 1891679 1891697 1891769 1891796 1891967 1891976 1896179 1896197 1896719 1896791 1896917 1896971 1897169 1897196 1897619 1897691 1897916 1897961 1899167 1899176 1899617 1899671 1899716 1899761 1916789 1916798 1916879 1916897 1916978 1916987 1917689 1917698 1917869 1917896 1917968 1917986 1918679 1918697 1918769 1918796 1918967 1918976 1919678 1919687 1919768 1919786 1919867 1919876 1961789 1961798 1961879 1961897 1961978 1961987 1967189 1967198 1967819 1967891 1967918 1967981 1968179 1968197 1968719 1968791 1968917 1968971 1969178 1969187 1969718 1969781 1969817 1969871 1971689 1971698 1971869 1971896 1971968 1971986 1976189 1976198 1976819 1976891 1976918 1976981 1978169 1978196 1978619 1978691 1978916 1978961 1979168 1979186 1979618 1979681 1979816 1979861 1981679 1981697 1981769 1981796 1981967 1981976 1986179 1986197 1986719 1986791 1986917 1986971 1987169 1987196 1987619 1987691 1987916 1987961 1989167 1989176 1989617 1989671 1989716 1989761 1991678 1991687 1991768 1991786 1991867 1991876 1996178 1996187 1996718 1996781 1996817 1996871 1997168 1997186 1997618 1997681 1997816 1997861 1998167 1998176 1998617 1998671 1998716 1998761 6117899 6117989 6117998 6118799 6118979 6118997 6119789 6119798 6119879 6119897 6119978 6119987 6171899 6171989 6171998 6178199 6178919 6178991 6179189 6179198 6179819 6179891 6179918 6179981 6181799 6181979 6181997 6187199 6187919 6187991 6189179 6189197 6189719 6189791 6189917 6189971 6191789 6191798 6191879 6191897 6191978 6191987 6197189 6197198 6197819 6197891 6197918 6197981 6198179 6198197 6198719 6198791 6198917 6198971 6199178 6199187 6199718 6199781 6199817 6199871 6711899 6711989 6711998 6718199 6718919 6718991 6719189 6719198 6719819 6719891 6719918 6719981 6781199 6781919 6781991 6789119 6789191 6789911 6791189 6791198 6791819 6791891 6791918 6791981 6798119 6798191 6798911 6799118 6799181 6799811 6811799 6811979 6811997 6817199 6817919 6817991 6819179 6819197 6819719 6819791 6819917 6819971 6871199 6871919 6871991 6879119 6879191 6879911 6891179 6891197 6891719 6891791 6891917 6891971 6897119 6897191 6897911 6899117 6899171 6899711 6911789 6911798 6911879 6911897 6911978 6911987 6917189 6917198 6917819 6917891 6917918 6917981 6918179 6918197 6918719 6918791 6918917 6918971 6919178 6919187 6919718 6919781 6919817 6919871 6971189 6971198 6971819 6971891 6971918 6971981 6978119 6978191 6978911 6979118 6979181 6979811 6981179 6981197 6981719 6981791 6981917 6981971 6987119 6987191 6987911 6989117 6989171 6989711 6991178 6991187 6991718 6991781 6991817 6991871 6997118 6997181 6997811 6998117 6998171 6998711 7116899 7116989 7116998 7118699 7118969 7118996 7119689 7119698 7119869 7119896 7119968 7119986 7161899 7161989 7161998 7168199 7168919 7168991 7169189 7169198 7169819 7169891 7169918 7169981 7181699 7181969 7181996 7186199 7186919 7186991 7189169 7189196 7189619 7189691 7189916 7189961 7191689 7191698 7191869 7191896 7191968 7191986 7196189 7196198 7196819 7196891 7196918 7196981 7198169 7198196 7198619 7198691 7198916 7198961 7199168 7199186 7199618 7199681 7199816 7199861 7611899 7611989 7611998 7618199 7618919 7618991 7619189 7619198 7619819 7619891 7619918 7619981 7681199 7681919 7681991 7689119 7689191 7689911 7691189 7691198 7691819 7691891 7691918 7691981 7698119 7698191 7698911 7699118 7699181 7699811 7811699 7811969 7811996 7816199 7816919 7816991 7819169 7819196 7819619 7819691 7819916 7819961 7861199 7861919 7861991 7869119 7869191 7869911 7891169 7891196 7891619 7891691 7891916 7891961 7896119 7896191 7896911 7899116 7899161 7899611 7911689 7911698 7911869 7911896 7911968 7911986 7916189 7916198 7916819 7916891 7916918 7916981 7918169 7918196 7918619 7918691 7918916 7918961 7919168 7919186 7919618 7919681 7919816 7919861 7961189 7961198 7961819 7961891 7961918 7961981 7968119 7968191 7968911 7969118 7969181 7969811 7981169 7981196 7981619 7981691 7981916 7981961 7986119 7986191 7986911 7989116 7989161 7989611 7991168 7991186 7991618 7991681 7991816 7991861 7996118 7996181 7996811 7998116 7998161 7998611 8116799 8116979 8116997 8117699 8117969 8117996 8119679 8119697 8119769 8119796 8119967 8119976 8161799 8161979 8161997 8167199 8167919 8167991 8169179 8169197 8169719 8169791 8169917 8169971 8171699 8171969 8171996 8176199 8176919 8176991 8179169 8179196 8179619 8179691 8179916 8179961 8191679 8191697 8191769 8191796 8191967 8191976 8196179 8196197 8196719 8196791 8196917 ...

13   Pass
x = 820199; y_correct = 819920; assert(isequal(find_neighbour(x),y_correct))

st = '0820199' y = 12899 12989 12998 18299 18929 18992 19289 19298 19829 19892 19928 19982 21899 21989 21998 28199 28919 28991 29189 29198 29819 29891 29918 29981 81299 81929 81992 82199 82919 82991 89129 89192 89219 89291 89912 89921 91289 91298 91829 91892 91928 91982 92189 92198 92819 92891 92918 92981 98129 98192 98219 98291 98912 98921 99128 99182 99218 99281 99812 99821 102899 102989 102998 108299 108929 108992 109289 109298 109829 109892 109928 109982 120899 120989 120998 128099 128909 128990 129089 129098 129809 129890 129908 129980 180299 180929 180992 182099 182909 182990 189029 189092 189209 189290 189902 189920 190289 190298 190829 190892 190928 190982 192089 192098 192809 192890 192908 192980 198029 198092 198209 198290 198902 198920 199028 199082 199208 199280 199802 199820 201899 201989 201998 208199 208919 208991 209189 209198 209819 209891 209918 209981 210899 210989 210998 218099 218909 218990 219089 219098 219809 219890 219908 219980 280199 280919 280991 281099 281909 281990 289019 289091 289109 289190 289901 289910 290189 290198 290819 290891 290918 290981 291089 291098 291809 291890 291908 291980 298019 298091 298109 298190 298901 298910 299018 299081 299108 299180 299801 299810 801299 801929 801992 802199 802919 802991 809129 809192 809219 809291 809912 809921 810299 810929 810992 812099 812909 812990 819029 819092 819209 819290 819902 819920 820199 820919 820991 821099 821909 821990 829019 829091 829109 829190 829901 829910 890129 890192 890219 890291 890912 890921 891029 891092 891209 891290 891902 891920 892019 892091 892109 892190 892901 892910 899012 899021 899102 899120 899201 899210 901289 901298 901829 901892 901928 901982 902189 902198 902819 902891 902918 902981 908129 908192 908219 908291 908912 908921 909128 909182 909218 909281 909812 909821 910289 910298 910829 910892 910928 910982 912089 912098 912809 912890 912908 912980 918029 918092 918209 918290 918902 918920 919028 919082 919208 919280 919802 919820 920189 920198 920819 920891 920918 920981 921089 921098 921809 921890 921908 921980 928019 928091 928109 928190 928901 928910 929018 929081 929108 929180 929801 929810 980129 980192 980219 980291 980912 980921 981029 981092 981209 981290 981902 981920 982019 982091 982109 982190 982901 982910 989012 989021 989102 989120 989201 989210 990128 990182 990218 990281 990812 990821 991028 991082 991208 991280 991802 991820 992018 992081 992108 992180 992801 992810 998012 998021 998102 998120 998201 998210 1002899 1002989 1002998 1008299 1008929 1008992 1009289 1009298 1009829 1009892 1009928 1009982 1020899 1020989 1020998 1028099 1028909 1028990 1029089 1029098 1029809 1029890 1029908 1029980 1080299 1080929 1080992 1082099 1082909 1082990 1089029 1089092 1089209 1089290 1089902 1089920 1090289 1090298 1090829 1090892 1090928 1090982 1092089 1092098 1092809 1092890 1092908 1092980 1098029 1098092 1098209 1098290 1098902 1098920 1099028 1099082 1099208 1099280 1099802 1099820 1200899 1200989 1200998 1208099 1208909 1208990 1209089 1209098 1209809 1209890 1209908 1209980 1280099 1280909 1280990 1289009 1289090 1289900 1290089 1290098 1290809 1290890 1290908 1290980 1298009 1298090 1298900 1299008 1299080 1299800 1800299 1800929 1800992 1802099 1802909 1802990 1809029 1809092 1809209 1809290 1809902 1809920 1820099 1820909 1820990 1829009 1829090 1829900 1890029 1890092 1890209 1890290 1890902 1890920 1892009 1892090 1892900 1899002 1899020 1899200 1900289 1900298 1900829 1900892 1900928 1900982 1902089 1902098 1902809 1902890 1902908 1902980 1908029 1908092 1908209 1908290 1908902 1908920 1909028 1909082 1909208 1909280 1909802 1909820 1920089 1920098 1920809 1920890 1920908 1920980 1928009 1928090 1928900 1929008 1929080 1929800 1980029 1980092 1980209 1980290 1980902 1980920 1982009 1982090 1982900 1989002 1989020 1989200 1990028 1990082 1990208 1990280 1990802 1990820 1992008 1992080 1992800 1998002 1998020 1998200 2001899 2001989 2001998 2008199 2008919 2008991 2009189 2009198 2009819 2009891 2009918 2009981 2010899 2010989 2010998 2018099 2018909 2018990 2019089 2019098 2019809 2019890 2019908 2019980 2080199 2080919 2080991 2081099 2081909 2081990 2089019 2089091 2089109 2089190 2089901 2089910 2090189 2090198 2090819 2090891 2090918 2090981 2091089 2091098 2091809 2091890 2091908 2091980 2098019 2098091 2098109 2098190 2098901 2098910 2099018 2099081 2099108 2099180 2099801 2099810 2100899 2100989 2100998 2108099 2108909 2108990 2109089 2109098 2109809 2109890 2109908 2109980 2180099 2180909 2180990 2189009 2189090 2189900 2190089 2190098 2190809 2190890 2190908 2190980 2198009 2198090 2198900 2199008 2199080 2199800 2800199 2800919 2800991 2801099 2801909 2801990 2809019 2809091 2809109 2809190 2809901 2809910 2810099 2810909 2810990 2819009 2819090 2819900 2890019 2890091 2890109 2890190 2890901 2890910 2891009 2891090 2891900 2899001 2899010 2899100 2900189 2900198 2900819 2900891 2900918 2900981 2901089 2901098 2901809 2901890 2901908 2901980 2908019 2908091 2908109 2908190 2908901 2908910 2909018 2909081 2909108 2909180 2909801 2909810 2910089 2910098 2910809 2910890 2910908 2910980 2918009 2918090 2918900 2919008 2919080 2919800 2980019 2980091 2980109 2980190 2980901 2980910 2981009 2981090 2981900 2989001 2989010 2989100 2990018 2990081 2990108 2990180 2990801 2990810 2991008 2991080 2991800 2998001 2998010 2998100 8001299 8001929 8001992 8002199 8002919 8002991 8009129 8009192 8009219 8009291 8009912 8009921 8010299 8010929 8010992 8012099 8012909 8012990 8019029 8019092 8019209 8019290 8019902 8019920 8020199 8020919 8020991 8021099 8021909 8021990 8029019 8029091 8029109 8029190 8029901 8029910 8090129 8090192 8090219 8090291 8090912 8090921 8091029 8091092 8091209 8091290 8091902 ...

14   Pass
x = 991; y_correct = 919; assert(isequal(find_neighbour(x),y_correct))

st = '0991' y = 199 919 991 1099 1909 1990 9019 9091 9109 9190 9901 9910 ans = 919

15   Pass
x = 911; y_correct = 1019; assert(isequal(find_neighbour(x),y_correct))

st = '0911' y = 119 191 911 1019 1091 1109 1190 1901 1910 9011 9101 9110 ans = 1019

16   Pass
x = 7001; y_correct = 7010; assert(isequal(find_neighbour(x),y_correct))

st = '07001' y = 17 71 107 170 701 710 1007 1070 1700 7001 7010 7100 10007 10070 10700 17000 70001 70010 70100 71000 ans = 7010

17   Pass
x = 1192999; y_correct = 1199299; assert(isequal(find_neighbour(x),y_correct))

st = '01192999' y = 1129999 1192999 1199299 1199929 1199992 1219999 1291999 1299199 1299919 1299991 1912999 1919299 1919929 1919992 1921999 1929199 1929919 1929991 1991299 1991929 1991992 1992199 1992919 1992991 1999129 1999192 1999219 1999291 1999912 1999921 2119999 2191999 2199199 2199919 2199991 2911999 2919199 2919919 2919991 2991199 2991919 2991991 2999119 2999191 2999911 9112999 9119299 9119929 9119992 9121999 9129199 9129919 9129991 9191299 9191929 9191992 9192199 9192919 9192991 9199129 9199192 9199219 9199291 9199912 9199921 9211999 9219199 9219919 9219991 9291199 9291919 9291991 9299119 9299191 9299911 9911299 9911929 9911992 9912199 9912919 9912991 9919129 9919192 9919219 9919291 9919912 9919921 9921199 9921919 9921991 9929119 9929191 9929911 9991129 9991192 9991219 9991291 9991912 9991921 9992119 9992191 9992911 9999112 9999121 9999211 10129999 10192999 10199299 10199929 10199992 10219999 10291999 10299199 10299919 10299991 10912999 10919299 10919929 10919992 10921999 10929199 10929919 10929991 10991299 10991929 10991992 10992199 10992919 10992991 10999129 10999192 10999219 10999291 10999912 10999921 11029999 11092999 11099299 11099929 11099992 11209999 11290999 11299099 11299909 11299990 11902999 11909299 11909929 11909992 11920999 11929099 11929909 11929990 11990299 11990929 11990992 11992099 11992909 11992990 11999029 11999092 11999209 11999290 11999902 11999920 12019999 12091999 12099199 12099919 12099991 12109999 12190999 12199099 12199909 12199990 12901999 12909199 12909919 12909991 12910999 12919099 12919909 12919990 12990199 12990919 12990991 12991099 12991909 12991990 12999019 12999091 12999109 12999190 12999901 12999910 19012999 19019299 19019929 19019992 19021999 19029199 19029919 19029991 19091299 19091929 19091992 19092199 19092919 19092991 19099129 19099192 19099219 19099291 19099912 19099921 19102999 19109299 19109929 19109992 19120999 19129099 19129909 19129990 19190299 19190929 19190992 19192099 19192909 19192990 19199029 19199092 19199209 19199290 19199902 19199920 19201999 19209199 19209919 19209991 19210999 19219099 19219909 19219990 19290199 19290919 19290991 19291099 19291909 19291990 19299019 19299091 19299109 19299190 19299901 19299910 19901299 19901929 19901992 19902199 19902919 19902991 19909129 19909192 19909219 19909291 19909912 19909921 19910299 19910929 19910992 19912099 19912909 19912990 19919029 19919092 19919209 19919290 19919902 19919920 19920199 19920919 19920991 19921099 19921909 19921990 19929019 19929091 19929109 19929190 19929901 19929910 19990129 19990192 19990219 19990291 19990912 19990921 19991029 19991092 19991209 19991290 19991902 19991920 19992019 19992091 19992109 19992190 19992901 19992910 19999012 19999021 19999102 19999120 19999201 19999210 20119999 20191999 20199199 20199919 20199991 20911999 20919199 20919919 20919991 20991199 20991919 20991991 20999119 20999191 20999911 21019999 21091999 21099199 21099919 21099991 21109999 21190999 21199099 21199909 21199990 21901999 21909199 21909919 21909991 21910999 21919099 21919909 21919990 21990199 21990919 21990991 21991099 21991909 21991990 21999019 21999091 21999109 21999190 21999901 21999910 29011999 29019199 29019919 29019991 29091199 29091919 29091991 29099119 29099191 29099911 29101999 29109199 29109919 29109991 29110999 29119099 29119909 29119990 29190199 29190919 29190991 29191099 29191909 29191990 29199019 29199091 29199109 29199190 29199901 29199910 29901199 29901919 29901991 29909119 29909191 29909911 29910199 29910919 29910991 29911099 29911909 29911990 29919019 29919091 29919109 29919190 29919901 29919910 29990119 29990191 29990911 29991019 29991091 29991109 29991190 29991901 29991910 29999011 29999101 29999110 90112999 90119299 90119929 90119992 90121999 90129199 90129919 90129991 90191299 90191929 90191992 90192199 90192919 90192991 90199129 90199192 90199219 90199291 90199912 90199921 90211999 90219199 90219919 90219991 90291199 90291919 90291991 90299119 90299191 90299911 90911299 90911929 90911992 90912199 90912919 90912991 90919129 90919192 90919219 90919291 90919912 90919921 90921199 90921919 90921991 90929119 90929191 90929911 90991129 90991192 90991219 90991291 90991912 90991921 90992119 90992191 90992911 90999112 90999121 90999211 91012999 91019299 91019929 91019992 91021999 91029199 91029919 91029991 91091299 91091929 91091992 91092199 91092919 91092991 91099129 91099192 91099219 91099291 91099912 91099921 91102999 91109299 91109929 91109992 91120999 91129099 91129909 91129990 91190299 91190929 91190992 91192099 91192909 91192990 91199029 91199092 91199209 91199290 91199902 91199920 91201999 91209199 91209919 91209991 91210999 91219099 91219909 91219990 91290199 91290919 91290991 91291099 91291909 91291990 91299019 91299091 91299109 91299190 91299901 91299910 91901299 91901929 91901992 91902199 91902919 91902991 91909129 91909192 91909219 91909291 91909912 91909921 91910299 91910929 91910992 91912099 91912909 91912990 91919029 91919092 91919209 91919290 91919902 91919920 91920199 91920919 91920991 91921099 91921909 91921990 91929019 91929091 91929109 91929190 91929901 91929910 91990129 91990192 91990219 91990291 91990912 91990921 91991029 91991092 91991209 91991290 91991902 91991920 91992019 91992091 91992109 91992190 91992901 91992910 91999012 91999021 91999102 91999120 91999201 91999210 92011999 92019199 92019919 92019991 92091199 92091919 92091991 92099119 92099191 92099911 92101999 92109199 92109919 92109991 92110999 92119099 92119909 92119990 92190199 92190919 92190991 92191099 92191909 92191990 92199019 92199091 92199109 92199190 92199901 92199910 92901199 92901919 92901991 92909119 92909191 92909911 92910199 92910919 92910991 92911099 92911909 92911990 92919019 92919091 92919109 92919190 92919901 92919910 92990119 92990191 92990911 92991019 92991091 92991109 92991190 92991901 92991910 92999011 92999101 92999110 99011299 99011929 99011992 99012199 99012919 99012991 99019129 99019192 99019219 99019291 99019912 99019921 99021199 99021919 99021991 99029119 99029191 99029911 99091129 99091192 99091219 99091291 99091912 99091921 99092119 99092191 99092911 99099112 99099121 99099211 99101299 99101929 99101992 99102199 99102919 99102991 99109129 99109192 99109219 99109291 99109912 99109921 99110299 99110929 99110992 99112099 99112909 99112990 99119029 99119092 99119209 99119290 99119902 99119920 99120199 99120919 99120991 99121099 99121909 99121990 99129019 99129091 99129109 99129190 99129901 99129910 99190129 99190192 99190219 99190291 99190912 99190921 99191029 99191092 99191209 99191290 99191902 99191920 99192019 99192091 99192109 99192190 99192901 99192910 99199012 99199021 99199102 99199120 99199201 99199210 99201199 99201919 99201991 99209119 99209191 99209911 99210199 99210919 99210991 99211099 99211909 99211990 99219019 99219091 99219109 99219190 99219901 ...

18   Pass
x = 8713222; y_correct = 8712322; assert(isequal(find_neighbour(x),y_correct))

st = '08713222' y = 1222378 1222387 1222738 1222783 1222837 1222873 1223278 1223287 1223728 1223782 1223827 1223872 1227238 1227283 1227328 1227382 1227823 1227832 1228237 1228273 1228327 1228372 1228723 1228732 1232278 1232287 1232728 1232782 1232827 1232872 1237228 1237282 1237822 1238227 1238272 1238722 1272238 1272283 1272328 1272382 1272823 1272832 1273228 1273282 1273822 1278223 1278232 1278322 1282237 1282273 1282327 1282372 1282723 1282732 1283227 1283272 1283722 1287223 1287232 1287322 1322278 1322287 1322728 1322782 1322827 1322872 1327228 1327282 1327822 1328227 1328272 1328722 1372228 1372282 1372822 1378222 1382227 1382272 1382722 1387222 1722238 1722283 1722328 1722382 1722823 1722832 1723228 1723282 1723822 1728223 1728232 1728322 1732228 1732282 1732822 1738222 1782223 1782232 1782322 1783222 1822237 1822273 1822327 1822372 1822723 1822732 1823227 1823272 1823722 1827223 1827232 1827322 1832227 1832272 1832722 1837222 1872223 1872232 1872322 1873222 2122378 2122387 2122738 2122783 2122837 2122873 2123278 2123287 2123728 2123782 2123827 2123872 2127238 2127283 2127328 2127382 2127823 2127832 2128237 2128273 2128327 2128372 2128723 2128732 2132278 2132287 2132728 2132782 2132827 2132872 2137228 2137282 2137822 2138227 2138272 2138722 2172238 2172283 2172328 2172382 2172823 2172832 2173228 2173282 2173822 2178223 2178232 2178322 2182237 2182273 2182327 2182372 2182723 2182732 2183227 2183272 2183722 2187223 2187232 2187322 2212378 2212387 2212738 2212783 2212837 2212873 2213278 2213287 2213728 2213782 2213827 2213872 2217238 2217283 2217328 2217382 2217823 2217832 2218237 2218273 2218327 2218372 2218723 2218732 2221378 2221387 2221738 2221783 2221837 2221873 2223178 2223187 2223718 2223781 2223817 2223871 2227138 2227183 2227318 2227381 2227813 2227831 2228137 2228173 2228317 2228371 2228713 2228731 2231278 2231287 2231728 2231782 2231827 2231872 2232178 2232187 2232718 2232781 2232817 2232871 2237128 2237182 2237218 2237281 2237812 2237821 2238127 2238172 2238217 2238271 2238712 2238721 2271238 2271283 2271328 2271382 2271823 2271832 2272138 2272183 2272318 2272381 2272813 2272831 2273128 2273182 2273218 2273281 2273812 2273821 2278123 2278132 2278213 2278231 2278312 2278321 2281237 2281273 2281327 2281372 2281723 2281732 2282137 2282173 2282317 2282371 2282713 2282731 2283127 2283172 2283217 2283271 2283712 2283721 2287123 2287132 2287213 2287231 2287312 2287321 2312278 2312287 2312728 2312782 2312827 2312872 2317228 2317282 2317822 2318227 2318272 2318722 2321278 2321287 2321728 2321782 2321827 2321872 2322178 2322187 2322718 2322781 2322817 2322871 2327128 2327182 2327218 2327281 2327812 2327821 2328127 2328172 2328217 2328271 2328712 2328721 2371228 2371282 2371822 2372128 2372182 2372218 2372281 2372812 2372821 2378122 2378212 2378221 2381227 2381272 2381722 2382127 2382172 2382217 2382271 2382712 2382721 2387122 2387212 2387221 2712238 2712283 2712328 2712382 2712823 2712832 2713228 2713282 2713822 2718223 2718232 2718322 2721238 2721283 2721328 2721382 2721823 2721832 2722138 2722183 2722318 2722381 2722813 2722831 2723128 2723182 2723218 2723281 2723812 2723821 2728123 2728132 2728213 2728231 2728312 2728321 2731228 2731282 2731822 2732128 2732182 2732218 2732281 2732812 2732821 2738122 2738212 2738221 2781223 2781232 2781322 2782123 2782132 2782213 2782231 2782312 2782321 2783122 2783212 2783221 2812237 2812273 2812327 2812372 2812723 2812732 2813227 2813272 2813722 2817223 2817232 2817322 2821237 2821273 2821327 2821372 2821723 2821732 2822137 2822173 2822317 2822371 2822713 2822731 2823127 2823172 2823217 2823271 2823712 2823721 2827123 2827132 2827213 2827231 2827312 2827321 2831227 2831272 2831722 2832127 2832172 2832217 2832271 2832712 2832721 2837122 2837212 2837221 2871223 2871232 2871322 2872123 2872132 2872213 2872231 2872312 2872321 2873122 2873212 2873221 3122278 3122287 3122728 3122782 3122827 3122872 3127228 3127282 3127822 3128227 3128272 3128722 3172228 3172282 3172822 3178222 3182227 3182272 3182722 3187222 3212278 3212287 3212728 3212782 3212827 3212872 3217228 3217282 3217822 3218227 3218272 3218722 3221278 3221287 3221728 3221782 3221827 3221872 3222178 3222187 3222718 3222781 3222817 3222871 3227128 3227182 3227218 3227281 3227812 3227821 3228127 3228172 3228217 3228271 3228712 3228721 3271228 3271282 3271822 3272128 3272182 3272218 3272281 3272812 3272821 3278122 3278212 3278221 3281227 3281272 3281722 3282127 3282172 3282217 3282271 3282712 3282721 3287122 3287212 3287221 3712228 3712282 3712822 3718222 3721228 3721282 3721822 3722128 3722182 3722218 3722281 3722812 3722821 3728122 3728212 3728221 3781222 3782122 3782212 3782221 3812227 3812272 3812722 3817222 3821227 3821272 3821722 3822127 3822172 3822217 3822271 3822712 3822721 3827122 3827212 3827221 3871222 3872122 3872212 3872221 7122238 7122283 7122328 7122382 7122823 7122832 7123228 7123282 7123822 7128223 7128232 7128322 7132228 7132282 7132822 7138222 7182223 7182232 7182322 7183222 7212238 7212283 7212328 7212382 7212823 7212832 7213228 7213282 7213822 7218223 7218232 7218322 7221238 7221283 7221328 7221382 7221823 7221832 7222138 7222183 7222318 7222381 7222813 7222831 7223128 7223182 7223218 7223281 7223812 7223821 7228123 7228132 7228213 7228231 7228312 7228321 7231228 7231282 7231822 7232128 7232182 7232218 7232281 7232812 7232821 7238122 7238212 7238221 7281223 7281232 7281322 7282123 7282132 7282213 7282231 7282312 7282321 7283122 7283212 7283221 7312228 7312282 7312822 7318222 7321228 7321282 7321822 7322128 7322182 7322218 7322281 7322812 7322821 7328122 7328212 7328221 7381222 7382122 7382212 7382221 7812223 7812232 7812322 7813222 7821223 7821232 7821322 7822123 7822132 7822213 7822231 7822312 7822321 7823122 7823212 7823221 7831222 7832122 7832212 7832221 8122237 8122273 8122327 8122372 8122723 8122732 8123227 8123272 8123722 8127223 8127232 8127322 8132227 8132272 8132722 8137222 8172223 8172232 8172322 8173222 8212237 8212273 8212327 8212372 8212723 8212732 8213227 8213272 8213722 8217223 8217232 8217322 8221237 8221273 8221327 8221372 8221723 8221732 8222137 8222173 8222317 8222371 8222713 8222731 8223127 8223172 8223217 ...