Cody

# Problem 29. Nearest Numbers

Solution 129572

Submitted on 21 Aug 2012 by Jamie Rodgers
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))

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

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))

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

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

array = NaN 2 11 -9 -2 NaN 9 -11 -11 -9 NaN -20 9 11 20 NaN index2 = 2

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

array = NaN 1000 -2000 1001 0 -1000 NaN -3000 1 -1000 2000 3000 NaN 3001 2000 -1001 -1 -3001 NaN -1001 0 1000 -2000 1001 NaN index2 = 5

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

array = Columns 1 through 6 NaN 1.0000 2.0000 3.0000 4.0000 5.0000 -1.0000 NaN 1.0000 2.0000 3.0000 4.0000 -2.0000 -1.0000 NaN 1.0000 2.0000 3.0000 -3.0000 -2.0000 -1.0000 NaN 1.0000 2.0000 -4.0000 -3.0000 -2.0000 -1.0000 NaN 1.0000 -5.0000 -4.0000 -3.0000 -2.0000 -1.0000 NaN -6.0000 -5.0000 -4.0000 -3.0000 -2.0000 -1.0000 -7.0000 -6.0000 -5.0000 -4.0000 -3.0000 -2.0000 -8.0000 -7.0000 -6.0000 -5.0000 -4.0000 -3.0000 -9.0000 -8.0000 -7.0000 -6.0000 -5.0000 -4.0000 -10.0000 -9.0000 -8.0000 -7.0000 -6.0000 -5.0000 -11.0000 -10.0000 -9.0000 -8.0000 -7.0000 -6.0000 -12.0000 -11.0000 -10.0000 -9.0000 -8.0000 -7.0000 -13.0000 -12.0000 -11.0000 -10.0000 -9.0000 -8.0000 -14.0000 -13.0000 -12.0000 -11.0000 -10.0000 -9.0000 -15.0000 -14.0000 -13.0000 -12.0000 -11.0000 -10.0000 -16.0000 -15.0000 -14.0000 -13.0000 -12.0000 -11.0000 -17.0000 -16.0000 -15.0000 -14.0000 -13.0000 -12.0000 -18.0000 -17.0000 -16.0000 -15.0000 -14.0000 -13.0000 -19.0000 -18.0000 -17.0000 -16.0000 -15.0000 -14.0000 -20.0000 -19.0000 -18.0000 -17.0000 -16.0000 -15.0000 -21.0000 -20.0000 -19.0000 -18.0000 -17.0000 -16.0000 -22.0000 -21.0000 -20.0000 -19.0000 -18.0000 -17.0000 -23.0000 -22.0000 -21.0000 -20.0000 -19.0000 -18.0000 -24.0000 -23.0000 -22.0000 -21.0000 -20.0000 -19.0000 -25.0000 -24.0000 -23.0000 -22.0000 -21.0000 -20.0000 -26.0000 -25.0000 -24.0000 -23.0000 -22.0000 -21.0000 -27.0000 -26.0000 -25.0000 -24.0000 -23.0000 -22.0000 -28.0000 -27.0000 -26.0000 -25.0000 -24.0000 -23.0000 -29.0000 -28.0000 -27.0000 -26.0000 -25.0000 -24.0000 -30.0000 -29.0000 -28.0000 -27.0000 -26.0000 -25.0000 -31.0000 -30.0000 -29.0000 -28.0000 -27.0000 -26.0000 -32.0000 -31.0000 -30.0000 -29.0000 -28.0000 -27.0000 -33.0000 -32.0000 -31.0000 -30.0000 -29.0000 -28.0000 -34.0000 -33.0000 -32.0000 -31.0000 -30.0000 -29.0000 -35.0000 -34.0000 -33.0000 -32.0000 -31.0000 -30.0000 -36.0000 -35.0000 -34.0000 -33.0000 -32.0000 -31.0000 -37.0000 -36.0000 -35.0000 -34.0000 -33.0000 -32.0000 -38.0000 -37.0000 -36.0000 -35.0000 -34.0000 -33.0000 -39.0000 -38.0000 -37.0000 -36.0000 -35.0000 -34.0000 -40.0000 -39.0000 -38.0000 -37.0000 -36.0000 -35.0000 -41.0000 -40.0000 -39.0000 -38.0000 -37.0000 -36.0000 -42.0000 -41.0000 -40.0000 -39.0000 -38.0000 -37.0000 -43.0000 -42.0000 -41.0000 -40.0000 -39.0000 -38.0000 -44.0000 -43.0000 -42.0000 -41.0000 -40.0000 -39.0000 -45.0000 -44.0000 -43.0000 -42.0000 -41.0000 -40.0000 -46.0000 -45.0000 -44.0000 -43.0000 -42.0000 -41.0000 -47.0000 -46.0000 -45.0000 -44.0000 -43.0000 -42.0000 -48.0000 -47.0000 -46.0000 -45.0000 -44.0000 -43.0000 -49.0000 -48.0000 -47.0000 -46.0000 -45.0000 -44.0000 -50.0000 -49.0000 -48.0000 -47.0000 -46.0000 -45.0000 -51.0000 -50.0000 -49.0000 -48.0000 -47.0000 -46.0000 -52.0000 -51.0000 -50.0000 -49.0000 -48.0000 -47.0000 -53.0000 -52.0000 -51.0000 -50.0000 -49.0000 -48.0000 -54.0000 -53.0000 -52.0000 -51.0000 -50.0000 -49.0000 -55.0000 -54.0000 -53.0000 -52.0000 -51.0000 -50.0000 -56.0000 -55.0000 -54.0000 -53.0000 -52.0000 -51.0000 -57.0000 -56.0000 -55.0000 -54.0000 -53.0000 -52.0000 -58.0000 -57.0000 -56.0000 -55.0000 -54.0000 -53.0000 -59.0000 -58.0000 -57.0000 -56.0000 -55.0000 -54.0000 -60.0000 -59.0000 -58.0000 -57.0000 -56.0000 -55.0000 -61.0000 -60.0000 -59.0000 -58.0000 -57.0000 -56.0000 -62.0000 -61.0000 -60.0000 -59.0000 -58.0000 -57.0000 -63.0000 -62.0000 -61.0000 -60.0000 -59.0000 -58.0000 -64.0000 -63.0000 -62.0000 -61.0000 -60.0000 -59.0000 -65.0000 -64.0000 -63.0000 -62.0000 -61.0000 -60.0000 -66.0000 -65.0000 -64.0000 -63.0000 -62.0000 -61.0000 -67.0000 -66.0000 -65.0000 -64.0000 -63.0000 -62.0000 -68.0000 -67.0000 -66.0000 -65.0000 -64.0000 -63.0000 -69.0000 -68.0000 -67.0000 -66.0000 -65.0000 -64.0000 -70.0000 -69.0000 -68.0000 -67.0000 -66.0000 -65.0000 -71.0000 -70.0000 -69.0000 -68.0000 -67.0000 -66.0000 -72.0000 -71.0000 -70.0000 -69.0000 -68.0000 -67.0000 -73.0000 -72.0000 -71.0000 -70.0000 -69.0000 -68.0000 -74.0000 -73.0000 -72.0000 -71.0000 -70.0000 -69.0000 -75.0000 -74.0000 -73.0000 -72.0000 -71.0000 -70.0000 -76.0000 -75.0000 -74.0000 -73.0000 -72.0000 -71.0000 -77.0000 -76.0000 -75.0000 -74.0000 -73.0000 -72.0000 -78.0000 -77.0000 -76.0000 -75.0000 -74.0000 -73.0000 -79.0000 -78.0000 -77.0000 -76.0000 -75.0000 -74.0000 -80.0000 -79.0000 -78.0000 -77.0000 -76.0000 -75.0000 -81.0000 -80.0000 -79.0000 -78.0000 -77.0000 -76.0000 -82.0000 -81.0000 -80.0000 -79.0000 -78.0000 -77.0000 -83.0000 -82.0000 -81.0000 -80.0000 -79.0000 -78.0000 -84.0000 -83.0000 -82.0000 -81.0000 -80.0000 -79.0000 -85.0000 -84.0000 -83.0000 -82.0000 -81.0000 -80.0000 -86.0000 -85.0000 -84.0000 -83.0000 -82.0000 -81.0000 -87.0000 -86.0000 -85.0000 -84.0000 -83.0000 -82.0000 -88.0000 -87.0000 -86.0000 -85.0000 -84.0000 -83.0000 -89.0000 -88.0000 -87.0000 -86.0000 -85.0000 -84.0000 -90.0000 -89.0000 -88.0000 -87.0000 -86.0000 -85.0000 -91.0000 -90.0000 -89.0000 -88.0000 -87.0000 -86.0000 -92.0000 -91.0000 -90.0000 -89.0000 -88.0000 -87.0000 -93.0000 -92.0000 -91.0000 -90.0000 -89.0000 -88.0000 -94.0000 -93.0000 -92.0000 -91.0000 -90.0000 -89.0000 -95.0000 -94.0000 -93.0000 -92.0000 -91.0000 -90.0000 -96.0000 -95.0000 -94.0000 -93.0000 -92.0000 -91.0000 -97.0000 -96.0000 -95.0000 -94.0000 -93.0000 -92.0000 -98.0000 -97.0000 -96.0000 -95.0000 -94.0000 -93.0000 -99.0000 -98.0000 -97.0000 -96.0000 -95.0000 -94.0000 -100.0000 -99.0000 -98.0000 -97.0000 -96.0000 -95.0000 -101.0000 -100.0000 -99.0000 -98.0000 -97.0000 -96.0000 -102.0000 -101.0000 -100.0000 -99.0000 -98.0000 -97.0000 -103.0000 -102.0000 -101.0000 -100.0000 -99.0000 -98.0000 -104.0000 -103.0000 -102.0000 -101.0000 -100.0000 -99.0000 -105.0000 -104.0000 -103.0000 -102.0000 -101.0000 -100.0000 -106.0000 -105.0000 -104.0000 -103.0000 -102.0000 -101.0000 -107.0000 -106.0000 -105.0000 -104.0000 -103.0000 -102.0000 -108.0000 -107.0000 -106.0000 -105.0000 -104.0000 -103.0000 -109.0000 -108.0000 -107.0000 -106.0000 -105.0000 -104.0000 -110.0000 -109.0000 -108.0000 -107.0000 -106.0000 -105.0000 -111.0000 -110.0000 -109.0000 -108.0000 -107.0000 -106.0000 -112.0000 -111.0000 -110.0000 -109.0000 -108.0000 -107.0000 -113.0000 -112.0000 -111.0000 -110.0000 -109.0000 -108.0000 -114.0000 -113.0000 -112.0000 -111.0000 -110.0000 -109.0000 -115.0000 -114.0000 -113.0000 -112.0000 -111.0000 -110.0000 -116.0000 -115.0000 -114.0000 -113.0000 -112.0000 -111.0000 -117.0000 -116.0000 -115.0000 -114.0000 -113.0000 -112.0000 -118.0000 -117.0000 -116.0000 -115.0000 -114.0000 -113.0000 -119.0000 -118.0000 -117.0000 -116.0000 -115.0000 -114.0000 -120.0000 -119.0000 -118.0000 -117.0000 -116.0000 -115.0000 -121.0000 -120.0000 -119.0000 -118.0000 -117.0000 -116.0000 -122.0000 -121.0000 -120.0000 -119.0000 -118.0000 -117.0000 -123.0000 -122.0000 -121.0000 -120.0000 -119.0000 -118.0000 -124.0000 -123.0000 -122.0000 -121.0000 -120.0000 -119.0000 -125.0000 -124.0000 -123.0000 -122.0000 -121.0000 -120.0000 -126.0000 -125.0000 -124.0000 -123.0000 -122.0000 -121.0000 -127.0000 -126.0000 -125.0000 -124.0000 -123.0000 -122.0000 -128.0000 -127.0000 -126.0000 -125.0000 -124.0000 -123.0000 -129.0000 -128.0000 -127.0000 -126.0000 -125.0000 -124.0000 -130.0000 -129.0000 -128.0000 -127.0000 -126.0000 -125.0000 -131.0000 -130.0000 -129.0000 -128.0000 -127.0000 -126.0000 -132.0000 -131.0000 -130.0000 -129.0000 -128.0000 -127.0000 -133.0000 -132.0000 -131.0000 -130.0000 -129.0000 -128.0000 -134.0000 -133.0000 -132.0000 -131.0000 -130.0000 -129.0000 -135.0000 -134.0000 -133.0000 -132.0000 -131.0000 -130.0000 -136.0000 -135.0000 -134.0000 -133.0000 -132.0000 -131.0000 -137.0000 -136.0000 -135.0000 -134.0000 -133.0000 -132.0000 -138.0000 -137.0000 -136.0000 -135.0000 -134.0000 -133.0000 -139.0000 -138.0000 -137.0000 -136.0000 -135.0000 -134.0000 -140.0000 -139.0000 -138.0000 -137.0000 -136.0000 -135.0000 -141.0000 -140.0000 -139.0000 -138.0000 -137.0000 -136.0000 -142.0000 -141.0000 -140.0000 -139.0000 -138.0000 -137.0000 -143.0000 -142.0000 -141.0000 -140.0000 -139.0000 -138.0000 -144.0000 -143.0000 -142.0000 -141.0000 -140.0000 -139.0000 -145.0000 -144.0000 -143.0000 -142.0000 -141.0000 -140.0000 -146.0000 -145.0000 -144.0000 -143.0000 -142.0000 -141.0000 -147.0000 -146.0000 -145.0000 -144.0000 -143.0000 -142.0000 -148.0000 -147.0000 -146.0000 -145.0000 -144.0000 -143.0000 -149.0000 -148.0000 -147.0000 -146.0000 -145.0000 -144.0000 -150.0000 -149.0000 -148.0000 -147.0000 -146.0000 -145.0000 -151.0000 -150.0000 -149.0000 -148.0000 -147.0000 -146.0000 -152.0000 -151.0000 -150.0000 -149.0000 -148.0000 -147.0000 -153.0000 -152.0000 -151.0000 -150.0000 -149.0000 -148.0000 -154.0000 -153.0000 -152.0000 -151.0000 -150.0000 -149.0000 -155.0000 -154.0000 -153.0000 -152.0000 -151.0000 -150.0000 -156.0000 -155.0000 -154.0000 -153.0000 -152.0000 -151.0000 -157.0000 -156.0000 -155.0000 -154.0000 -153.0000 -152.0000 -158.0000 -157.0000 -156.0000 -155.0000 -154.0000 -153.0000 -159.0000 -158.0000 -157.0000 -156.0000 -155.0000 -154.0000 -160.0000 -159.0000 -158.0000 -157.0000 -156.0000 -155.0000 -161.0000 -160.0000 -159.0000 -158.0000 -157.0000 -156.0000 -162.0000 -161.0000 -160.0000 -159.0000 -158.0000 -157.0000 -163.0000 -162.0000 -161....

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

array = NaN -630 -339 -535 -635 630 NaN 291 95 -5 339 -291 NaN -196 -296 535 -95 196 NaN -100 635 5 296 100 NaN index2 = 5

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

array = NaN 1754 -58346 553 -50047 -1754 NaN -60100 -1201 -51801 58346 60100 NaN 58899 8299 -553 1201 -58899 NaN -50600 50047 51801 -8299 50600 NaN index2 = 4

### Community Treasure Hunt

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

Start Hunting!