Cody

# Problem 29. Nearest Numbers

Solution 317319

Submitted on 10 Sep 2013 by Sumit Agrawal
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
%% A = [30 46 16 -46 35 44 18 26 25 -10]; correct = [8 9]; [i1 i2] = nearestNumbers(A); assert(isequal([i1 i2],correct))

y = Inf 16 14 76 5 14 12 4 5 40 16 Inf 30 92 11 2 28 20 21 56 14 30 Inf 62 19 28 2 10 9 26 76 92 62 Inf 81 90 64 72 71 36 5 11 19 81 Inf 9 17 9 10 45 14 2 28 90 9 Inf 26 18 19 54 12 28 2 64 17 26 Inf 8 7 28 4 20 10 72 9 18 8 Inf 1 36 5 21 9 71 10 19 7 1 Inf 35 40 56 26 36 45 54 28 36 35 Inf

2   Pass
%% A = [1555 -3288 2061 -4681 -2230 -4538 -4028 3235 1949 -1829]; correct = [3 9]; [i1 i2] = nearestNumbers(A); assert(isequal([i1 i2],correct))

y = Columns 1 through 8 Inf 4843 506 6236 3785 6093 5583 1680 4843 Inf 5349 1393 1058 1250 740 6523 506 5349 Inf 6742 4291 6599 6089 1174 6236 1393 6742 Inf 2451 143 653 7916 3785 1058 4291 2451 Inf 2308 1798 5465 6093 1250 6599 143 2308 Inf 510 7773 5583 740 6089 653 1798 510 Inf 7263 1680 6523 1174 7916 5465 7773 7263 Inf 394 5237 112 6630 4179 6487 5977 1286 3384 1459 3890 2852 401 2709 2199 5064 Columns 9 through 10 394 3384 5237 1459 112 3890 6630 2852 4179 401 6487 2709 5977 2199 1286 5064 Inf 3778 3778 Inf

3   Pass
%% A = [-1 1 10 -10]; correct = [1 2]; [i1 i2] = nearestNumbers(A); assert(isequal([i1 i2],correct))

y = Inf 2 11 9 2 Inf 9 11 11 9 Inf 20 9 11 20 Inf

4   Pass
%% A = [0 1000 -2000 1001 0]; correct = [1 5]; [i1 i2] = nearestNumbers(A); assert(isequal([i1 i2],correct))

y = Inf 1000 2000 1001 0 1000 Inf 3000 1 1000 2000 3000 Inf 3001 2000 1001 1 3001 Inf 1001 0 1000 2000 1001 Inf

5   Pass
%% A = [1:1000 0.5]; correct = [1 1001]; [i1 i2] = nearestNumbers(A); assert(isequal([i1 i2],correct))

y = Columns 1 through 10 Inf 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 1.0000 Inf 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 2.0000 1.0000 Inf 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 3.0000 2.0000 1.0000 Inf 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 4.0000 3.0000 2.0000 1.0000 Inf 1.0000 2.0000 3.0000 4.0000 5.0000 5.0000 4.0000 3.0000 2.0000 1.0000 Inf 1.0000 2.0000 3.0000 4.0000 6.0000 5.0000 4.0000 3.0000 2.0000 1.0000 Inf 1.0000 2.0000 3.0000 7.0000 6.0000 5.0000 4.0000 3.0000 2.0000 1.0000 Inf 1.0000 2.0000 8.0000 7.0000 6.0000 5.0000 4.0000 3.0000 2.0000 1.0000 Inf 1.0000 9.0000 8.0000 7.0000 6.0000 5.0000 4.0000 3.0000 2.0000 1.0000 Inf 10.0000 9.0000 8.0000 7.0000 6.0000 5.0000 4.0000 3.0000 2.0000 1.0000 11.0000 10.0000 9.0000 8.0000 7.0000 6.0000 5.0000 4.0000 3.0000 2.0000 12.0000 11.0000 10.0000 9.0000 8.0000 7.0000 6.0000 5.0000 4.0000 3.0000 13.0000 12.0000 11.0000 10.0000 9.0000 8.0000 7.0000 6.0000 5.0000 4.0000 14.0000 13.0000 12.0000 11.0000 10.0000 9.0000 8.0000 7.0000 6.0000 5.0000 15.0000 14.0000 13.0000 12.0000 11.0000 10.0000 9.0000 8.0000 7.0000 6.0000 16.0000 15.0000 14.0000 13.0000 12.0000 11.0000 10.0000 9.0000 8.0000 7.0000 17.0000 16.0000 15.0000 14.0000 13.0000 12.0000 11.0000 10.0000 9.0000 8.0000 18.0000 17.0000 16.0000 15.0000 14.0000 13.0000 12.0000 11.0000 10.0000 9.0000 19.0000 18.0000 17.0000 16.0000 15.0000 14.0000 13.0000 12.0000 11.0000 10.0000 20.0000 19.0000 18.0000 17.0000 16.0000 15.0000 14.0000 13.0000 12.0000 11.0000 21.0000 20.0000 19.0000 18.0000 17.0000 16.0000 15.0000 14.0000 13.0000 12.0000 22.0000 21.0000 20.0000 19.0000 18.0000 17.0000 16.0000 15.0000 14.0000 13.0000 23.0000 22.0000 21.0000 20.0000 19.0000 18.0000 17.0000 16.0000 15.0000 14.0000 24.0000 23.0000 22.0000 21.0000 20.0000 19.0000 18.0000 17.0000 16.0000 15.0000 25.0000 24.0000 23.0000 22.0000 21.0000 20.0000 19.0000 18.0000 17.0000 16.0000 26.0000 25.0000 24.0000 23.0000 22.0000 21.0000 20.0000 19.0000 18.0000 17.0000 27.0000 26.0000 25.0000 24.0000 23.0000 22.0000 21.0000 20.0000 19.0000 18.0000 28.0000 27.0000 26.0000 25.0000 24.0000 23.0000 22.0000 21.0000 20.0000 19.0000 29.0000 28.0000 27.0000 26.0000 25.0000 24.0000 23.0000 22.0000 21.0000 20.0000 30.0000 29.0000 28.0000 27.0000 26.0000 25.0000 24.0000 23.0000 22.0000 21.0000 31.0000 30.0000 29.0000 28.0000 27.0000 26.0000 25.0000 24.0000 23.0000 22.0000 32.0000 31.0000 30.0000 29.0000 28.0000 27.0000 26.0000 25.0000 24.0000 23.0000 33.0000 32.0000 31.0000 30.0000 29.0000 28.0000 27.0000 26.0000 25.0000 24.0000 34.0000 33.0000 32.0000 31.0000 30.0000 29.0000 28.0000 27.0000 26.0000 25.0000 35.0000 34.0000 33.0000 32.0000 31.0000 30.0000 29.0000 28.0000 27.0000 26.0000 36.0000 35.0000 34.0000 33.0000 32.0000 31.0000 30.0000 29.0000 28.0000 27.0000 37.0000 36.0000 35.0000 34.0000 33.0000 32.0000 31.0000 30.0000 29.0000 28.0000 38.0000 37.0000 36.0000 35.0000 34.0000 33.0000 32.0000 31.0000 30.0000 29.0000 39.0000 38.0000 37.0000 36.0000 35.0000 34.0000 33.0000 32.0000 31.0000 30.0000 40.0000 39.0000 38.0000 37.0000 36.0000 35.0000 34.0000 33.0000 32.0000 31.0000 41.0000 40.0000 39.0000 38.0000 37.0000 36.0000 35.0000 34.0000 33.0000 32.0000 42.0000 41.0000 40.0000 39.0000 38.0000 37.0000 36.0000 35.0000 34.0000 33.0000 43.0000 42.0000 41.0000 40.0000 39.0000 38.0000 37.0000 36.0000 35.0000 34.0000 44.0000 43.0000 42.0000 41.0000 40.0000 39.0000 38.0000 37.0000 36.0000 35.0000 45.0000 44.0000 43.0000 42.0000 41.0000 40.0000 39.0000 38.0000 37.0000 36.0000 46.0000 45.0000 44.0000 43.0000 42.0000 41.0000 40.0000 39.0000 38.0000 37.0000 47.0000 46.0000 45.0000 44.0000 43.0000 42.0000 41.0000 40.0000 39.0000 38.0000 48.0000 47.0000 46.0000 45.0000 44.0000 43.0000 42.0000 41.0000 40.0000 39.0000 49.0000 48.0000 47.0000 46.0000 45.0000 44.0000 43.0000 42.0000 41.0000 40.0000 50.0000 49.0000 48.0000 47.0000 46.0000 45.0000 44.0000 43.0000 42.0000 41.0000 51.0000 50.0000 49.0000 48.0000 47.0000 46.0000 45.0000 44.0000 43.0000 42.0000 52.0000 51.0000 50.0000 49.0000 48.0000 47.0000 46.0000 45.0000 44.0000 43.0000 53.0000 52.0000 51.0000 50.0000 49.0000 48.0000 47.0000 46.0000 45.0000 44.0000 54.0000 53.0000 52.0000 51.0000 50.0000 49.0000 48.0000 47.0000 46.0000 45.0000 55.0000 54.0000 53.0000 52.0000 51.0000 50.0000 49.0000 48.0000 47.0000 46.0000 56.0000 55.0000 54.0000 53.0000 52.0000 51.0000 50.0000 49.0000 48.0000 47.0000 57.0000 56.0000 55.0000 54.0000 53.0000 52.0000 51.0000 50.0000 49.0000 48.0000 58.0000 57.0000 56.0000 55.0000 54.0000 53.0000 52.0000 51.0000 50.0000 49.0000 59.0000 58.0000 57.0000 56.0000 55.0000 54.0000 53.0000 52.0000 51.0000 50.0000 60.0000 59.0000 58.0000 57.0000 56.0000 55.0000 54.0000 53.0000 52.0000 51.0000 61.0000 60.0000 59.0000 58.0000 57.0000 56.0000 55.0000 54.0000 53.0000 52.0000 62.0000 61.0000 60.0000 59.0000 58.0000 57.0000 56.0000 55.0000 54.0000 53.0000 63.0000 62.0000 61.0000 60.0000 59.0000 58.0000 57.0000 56.0000 55.0000 54.0000 64.0000 63.0000 62.0000 61.0000 60.0000 59.0000 58.0000 57.0000 56.0000 55.0000 65.0000 64.0000 63.0000 62.0000 61.0000 60.0000 59.0000 58.0000 57.0000 56.0000 66.0000 65.0000 64.0000 63.0000 62.0000 61.0000 60.0000 59.0000 58.0000 57.0000 67.0000 66.0000 65.0000 64.0000 63.0000 62.0000 61.0000 60.0000 59.0000 58.0000 68.0000 67.0000 66.0000 65.0000 64.0000 63.0000 62.0000 61.0000 60.0000 59.0000 69.0000 68.0000 67.0000 66.0000 65.0000 64.0000 63.0000 62.0000 61.0000 60.0000 70.0000 69.0000 68.0000 67.0000 66.0000 65.0000 64.0000 63.0000 62.0000 61.0000 71.0000 70.0000 69.0000 68.0000 67.0000 66.0000 65.0000 64.0000 63.0000 62.0000 72.0000 71.0000 70.0000 69.0000 68.0000 67.0000 66.0000 65.0000 64.0000 63.0000 73.0000 72.0000 71.0000 70.0000 69.0000 68.0000 67.0000 66.0000 65.0000 64.0000 74.0000 73.0000 72.0000 71.0000 70.0000 69.0000 68.0000 67.0000 66.0000 65.0000 75.0000 74.0000 73.0000 72.0000 71.0000 70.0000 69.0000 68.0000 67.0000 66.0000 76.0000 75.0000 74.0000 73.0000 72.0000 71.0000 70.0000 69.0000 68.0000 67.0000 77.0000 76.0000 75.0000 74.0000 73.0000 72.0000 71.0000 70.0000 69.0000 68.0000 78.0000 77.0000 76.0000 75.0000 74.0000 73.0000 72.0000 71.0000 70.0000 69.0000 79.0000 78.0000 77.0000 76.0000 75.0000 74.0000 73.0000 72.0000 71.0000 70.0000 80.0000 79.0000 78.0000 77.0000 76.0000 75.0000 74.0000 73.0000 72.0000 71.0000 81.0000 80.0000 79.0000 78.0000 77.0000 76.0000 75.0000 74.0000 73.0000 72.0000 82.0000 81.0000 80.0000 79.0000 78.0000 77.0000 76.0000 75.0000 74.0000 73.0000 83.0000 82.0000 81.0000 80.0000 79.0000 78.0000 77.0000 76.0000 75.0000 74.0000 84.0000 83.0000 82.0000 81.0000 80.0000 79.0000 78.0000 77.0000 76.0000 75.0000 85.0000 84.0000 83.0000 82.0000 81.0000 80.0000 79.0000 78.0000 77.0000 76.0000 86.0000 85.0000 84.0000 83.0000 82.0000 81.0000 80.0000 79.0000 78.0000 77.0000 87.0000 86.0000 85.0000 84.0000 83.0000 82.0000 81.0000 80.0000 79.0000 78.0000 88.0000 87.0000 86.0000 85.0000 84.0000 83.0000 82.0000 81.0000 80.0000 79.0000 89.0000 88.0000 87.0000 86.0000 85.0000 84.0000 83.0000 82.0000 81.0000 80.0000 90.0000 89.0000 88.0000 87.0000 86.0000 85.0000 84.0000 83.0000 82.0000 81.0000 91.0000 90.0000 89.0000 88.0000 87.0000 86.0000 85.0000 84.0000 83.0000 82.0000 92.0000 91.0000 90.0000 89.0000 88.0000 87.0000 86.0000 85.0000 84.0000 83.0000 93.0000 92.0000 91.0000 90.0000 89.0000 88.0000 87.0000 86.0000 85.0000 84.0000 94.0000 93.0000 92.0000 91.0000 90.0000 89.0000 88.0000 87.0000 86.0000 85.0000 95.0000 94.0000 93.0000 92.0000 91.0000 90.0000 89.0000 88.0000 87.0000 86.0000 96.0000 95.0000 94.0000 93.0000 92.0000 91.0000 90.0000 89.0000 88.0000 87.0000 97.0000 96.0000 95.0000 94.0000 93.0000 92.0000 91.0000 90.0000 89.0000 88.0000 98.0000 97.0000 96.0000 95.0000 94.0000 93.0000 92.0000 9...

6   Pass
%% % Area codes A = [847 217 508 312 212]; correct = [2 5]; [i1 i2] = nearestNumbers(A); assert(isequal([i1 i2],correct))

y = Inf 630 339 535 635 630 Inf 291 95 5 339 291 Inf 196 296 535 95 196 Inf 100 635 5 296 100 Inf

7   Pass
%% % Zip codes A = [60048 61802 01702 60601 10001]; correct = [1 4]; [i1 i2] = nearestNumbers(A); assert(isequal([i1 i2],correct))

y = Inf 1754 58346 553 50047 1754 Inf 60100 1201 51801 58346 60100 Inf 58899 8299 553 1201 58899 Inf 50600 50047 51801 8299 50600 Inf

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!