Cody

# Problem 29. Nearest Numbers

Solution 230340

Submitted on 13 Apr 2013 by Cor van Essen
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))

dif = Columns 1 through 8 500000 -16 14 76 -5 -14 12 4 16 500000 30 92 11 2 28 20 -14 -30 500000 62 -19 -28 -2 -10 -76 -92 -62 500000 -81 -90 -64 -72 5 -11 19 81 500000 -9 17 9 14 -2 28 90 9 500000 26 18 -12 -28 2 64 -17 -26 500000 -8 -4 -20 10 72 -9 -18 8 500000 -5 -21 9 71 -10 -19 7 -1 -40 -56 -26 36 -45 -54 -28 -36 Columns 9 through 10 5 40 21 56 -9 26 -71 -36 10 45 19 54 -7 28 1 36 500000 35 -35 500000 dis = 1 imn = 79 index2 = 9 index1 = 8

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

dif = Columns 1 through 8 500000 4843 -506 6236 3785 6093 5583 -1680 -4843 500000 -5349 1393 -1058 1250 740 -6523 506 5349 500000 6742 4291 6599 6089 -1174 -6236 -1393 -6742 500000 -2451 -143 -653 -7916 -3785 1058 -4291 2451 500000 2308 1798 -5465 -6093 -1250 -6599 143 -2308 500000 -510 -7773 -5583 -740 -6089 653 -1798 510 500000 -7263 1680 6523 1174 7916 5465 7773 7263 500000 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 500000 3778 -3778 500000 dis = 112 imn = 29 index2 = 9 index1 = 3

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

dif = 500000 -2 -11 9 2 500000 -9 11 11 9 500000 20 -9 -11 -20 500000 dis = 2 imn = 2 index2 = 2 index1 = 1

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

dif = 500000 -1000 2000 -1001 0 1000 500000 3000 -1 1000 -2000 -3000 500000 -3001 -2000 1001 1 3001 500000 1001 0 -1000 2000 -1001 500000 dis = 0 imn = 5 index2 = 5 index1 = 1

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

dif = 1.0e+05 * Columns 1 through 10 5.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0001 -0.0001 -0.0001 -0.0001 -0.0001 0.0000 5.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0001 -0.0001 -0.0001 -0.0001 0.0000 0.0000 5.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0001 -0.0001 -0.0001 0.0000 0.0000 0.0000 5.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0001 -0.0001 0.0000 0.0000 0.0000 0.0000 5.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0001 0.0001 0.0000 0.0000 0.0000 0.0000 5.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.0001 0.0001 0.0000 0.0000 0.0000 0.0000 5.0000 -0.0000 -0.0000 -0.0000 0.0001 0.0001 0.0001 0.0000 0.0000 0.0000 0.0000 5.0000 -0.0000 -0.0000 0.0001 0.0001 0.0001 0.0001 0.0000 0.0000 0.0000 0.0000 5.0000 -0.0000 0.0001 0.0001 0.0001 0.0001 0.0001 0.0000 0.0000 0.0000 0.0000 5.0000 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0000 0.0000 0.0000 0.0000 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0000 0.0000 0.0000 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0000 0.0000 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0000 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0002 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0002 0.0002 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0002 0.0002 0.0002 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0002 0.0002 0.0002 0.0002 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0002 0.0002 0.0002 0.0002 0.0002 0.0001 0.0001 0.0001 0.0001 0.0001 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0001 0.0001 0.0001 0.0001 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0001 0.0001 0.0001 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0001 0.0001 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0001 0.0003 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0003 0.0003 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0003 0.0003 0.0003 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0003 0.0003 0.0003 0.0003 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0003 0.0003 0.0003 0.0003 0.0003 0.0002 0.0002 0.0002 0.0002 0.0002 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0002 0.0002 0.0002 0.0002 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0002 0.0002 0.0002 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0002 0.0002 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0002 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0004 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0004 0.0004 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0004 0.0004 0.0004 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0004 0.0004 0.0004 0.0004 0.0003 0.0003 0.0003 0.0003 0.0003 0.0003 0.0004 0.0004 0.0004 0.0004 0.0004 0.0003 0.0003 0.0003 0.0003 0.0003 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0003 0.0003 0.0003 0.0003 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0003 0.0003 0.0003 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0003 0.0003 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0003 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0005 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0005 0.0005 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0005 0.0005 0.0005 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0005 0.0005 0.0005 0.0005 0.0004 0.0004 0.0004 0.0004 0.0004 0.0004 0.0005 0.0005 0.0005 0.0005 0.0005 0.0004 0.0004 0.0004 0.0004 0.0004 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0004 0.0004 0.0004 0.0004 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0004 0.0004 0.0004 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0004 0.0004 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0004 0.0006 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0006 0.0006 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0006 0.0006 0.0006 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0006 0.0006 0.0006 0.0006 0.0005 0.0005 0.0005 0.0005 0.0005 0.0005 0.0006 0.0006 0.0006 0.0006 0.0006 0.0005 0.0005 0.0005 0.0005 0.0005 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0005 0.0005 0.0005 0.0005 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0005 0.0005 0.0005 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0005 0.0005 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0005 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0007 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0007 0.0007 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0007 0.0007 0.0007 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0007 0.0007 0.0007 0.0007 0.0006 0.0006 0.0006 0.0006 0.0006 0.0006 0.0007 0.0007 0.0007 0.0007 0.0007 0.0006 0.0006 0.0006 0.0006 0.0006 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0006 0.0006 0.0006 0.0006 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0006 0.0006 0.0006 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0006 0.0006 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0006 0.0008 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0008 0.0008 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0008 0.0008 0.0008 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0008 0.0008 0.0008 0.0008 0.0007 0.0007 0.0007 0.0007 0.0007 0.0007 0.0008 0.0008 0.0008 0.0008 0.0008 0.0007 0.0007 0.0007 0.0007 0.0007 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0007 0.0007 0.0007 0.0007 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0007 0.0007 0.0007 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0007 0.0007 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0007 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0009 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0009 0.0009 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0009 0.0009 0.0009 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0009 0.0009 0.0009 0.0009 0.0008 0.0008 0.0008 0.0008 0.0008 0.0008 0.0009 0.0009 0.0009 0.0009 0.0009 0.0008 0.0008 0.0008 0.0008 0.0008 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0008 0.0008 0.0008 0.0008 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0008 0.0008 0.0008 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0008 0.0008 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0008 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0010 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0010 0.0010 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0009 0.0010 0.0010 0.0010 0.0009 0.0009 0.000...

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

dif = 500000 630 339 535 635 -630 500000 -291 -95 5 -339 291 500000 196 296 -535 95 -196 500000 100 -635 -5 -296 -100 500000 dis = 5 imn = 10 index2 = 5 index1 = 2

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

dif = 500000 -1754 58346 -553 50047 1754 500000 60100 1201 51801 -58346 -60100 500000 -58899 -8299 553 -1201 58899 500000 50600 -50047 -51801 8299 -50600 500000 dis = 553 imn = 4 index2 = 4 index1 = 1