Cody

Solution 1710799

Submitted on 20 Jan 2019 by HH
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
filetext = fileread('regular.m'); assert(isempty(strfind(filetext, 'for'))) assert(isempty(strfind(filetext, 'while')))

2   Pass
A = 1; B = 1; assert(isequal(regular(A),B));

ans = 1

3   Pass
A = [2 6 5 3 5 6 3 7]; B = [1 2 3 1 3 2 2 3]; assert(isequal(regular(A),B));

ans = 1.0000 2.0000 2.5000 1.0000 2.5000 2.0000 1.5000 2.3333 ans = 1.0000 2.0000 3.3333 1.0000 3.3333 2.0000 2.0000 2.3333 ans = 1 2 3 1 3 2 2 3

4   Pass
A = [10 2 4 4 2 4 5 6 8 1 6 5 10 3 9 9 9 5 5 5 9 10 3 7 8]; B = [4 1 2 2 2 1 2 4 5 1 2 2 5 1 5 3 3 3 3 3 3 4 1 4 4]; assert(isequal(regular(A),B));

ans = 2.5000 1.0000 1.3333 1.3333 2.0000 1.0000 2.5000 2.0000 2.6667 1.0000 1.5000 2.5000 3.3333 1.0000 9.0000 2.2500 4.5000 1.6667 1.6667 5.0000 2.2500 5.0000 1.0000 2.3333 8.0000 ans = 3.3333 1.0000 2.0000 2.0000 2.0000 1.0000 2.0000 3.0000 4.0000 1.0000 2.0000 2.0000 5.0000 1.0000 9.0000 3.0000 3.6000 2.5000 2.5000 5.0000 3.0000 4.0000 1.0000 3.5000 8.0000 ans = 3.3333 1.0000 2.0000 2.0000 2.0000 1.0000 2.0000 3.6000 4.8000 1.0000 2.0000 2.0000 6.0000 1.0000 5.4000 3.0000 3.0000 3.0000 3.0000 3.0000 3.0000 3.3333 1.0000 4.2000 4.8000 ans = 4.0000 1.0000 2.0000 2.0000 2.0000 1.0000 2.0000 4.0000 4.5714 1.0000 2.0000 2.0000 6.6667 1.0000 4.5000 3.0000 3.0000 3.0000 3.0000 3.0000 3.0000 4.0000 1.0000 4.0000 4.0000 ans = 4 1 2 2 2 1 2 4 5 1 2 2 5 1 5 3 3 3 3 3 3 4 1 4 4

5   Pass
A = randi(100,80,100); B = zeros(size(A)); for iter = 1:size(A,2) [~, ~, B(:, iter)] = unique(A(:,iter)); end assert(isequal(regular(A),B));

ans = Columns 1 through 17 11.0000 54.0000 56.0000 37.0000 13.0000 33.0000 6.0000 23.0000 76.0000 31.5000 36.0000 1.0000 56.0000 1.0000 1.0000 22.5000 15.0000 30.5000 66.0000 4.0000 73.0000 25.0000 10.0000 7.0000 54.0000 85.0000 34.0000 13.0000 95.0000 46.0000 21.5000 75.0000 43.5000 16.0000 1.0000 75.0000 12.0000 81.0000 99.0000 32.0000 26.0000 49.0000 43.0000 36.0000 5.0000 60.0000 55.0000 11.0000 26.0000 18.0000 91.0000 48.5000 21.0000 30.0000 40.0000 96.0000 71.0000 9.0000 80.0000 68.0000 8.0000 32.0000 66.0000 64.0000 20.2500 59.0000 44.5000 18.0000 10.5000 89.0000 59.0000 43.0000 51.0000 94.0000 40.0000 75.0000 73.0000 37.5000 30.0000 85.0000 21.0000 24.7500 77.0000 1.5000 20.0000 46.5000 20.0000 91.0000 42.0000 66.0000 45.0000 57.0000 38.0000 71.0000 24.5000 14.0000 24.0000 6.0000 16.5000 35.0000 32.0000 42.0000 32.5000 95.0000 63.0000 41.0000 88.0000 91.0000 94.0000 74.0000 85.0000 50.0000 20.0000 100.0000 81.0000 12.0000 55.0000 38.0000 95.0000 20.0000 95.0000 4.0000 42.0000 88.0000 41.0000 58.0000 2.0000 31.0000 34.0000 15.0000 33.0000 66.0000 23.7500 41.0000 41.5000 25.0000 41.5000 77.0000 47.0000 31.0000 64.0000 56.0000 75.0000 69.0000 92.0000 29.5000 78.0000 22.0000 81.0000 20.5000 88.0000 28.0000 25.0000 42.0000 98.0000 81.0000 98.0000 90.0000 39.0000 11.0000 31.0000 58.0000 14.5000 40.0000 15.0000 4.0000 15.7500 27.0000 5.5000 26.0000 5.0000 51.0000 52.0000 8.0000 19.0000 51.0000 93.0000 45.0000 75.0000 16.5000 41.0000 75.0000 71.0000 23.2500 89.0000 12.0000 77.0000 23.5000 21.0000 14.0000 89.0000 66.0000 78.0000 68.0000 55.0000 72.0000 42.0000 94.0000 46.0000 63.0000 4.0000 67.0000 17.0000 88.0000 18.0000 1.0000 76.0000 83.0000 50.0000 86.0000 74.0000 34.0000 81.0000 35.0000 79.0000 90.0000 49.0000 10.0000 81.0000 16.5000 84.0000 15.0000 31.0000 25.0000 56.0000 60.0000 48.0000 30.0000 44.0000 88.0000 43.0000 33.0000 43.0000 32.0000 3.0000 39.0000 36.0000 9.0000 41.5000 28.0000 20.0000 99.0000 3.0000 81.0000 32.0000 97.0000 58.0000 17.5000 14.0000 15.0000 90.0000 4.2500 54.0000 2.0000 78.0000 31.5000 40.0000 98.0000 78.0000 75.0000 39.0000 59.0000 40.0000 49.0000 15.0000 46.0000 63.0000 56.0000 7.0000 7.0000 47.0000 99.0000 47.5000 22.0000 47.0000 20.0000 70.0000 9.0000 35.0000 80.0000 64.0000 35.0000 82.0000 38.0000 50.0000 2.0000 45.0000 4.5000 58.0000 29.0000 52.0000 8.0000 83.0000 29.0000 47.0000 90.0000 61.0000 46.0000 26.5000 75.0000 73.0000 6.0000 7.5000 28.0000 11.0000 78.0000 39.0000 49.0000 70.0000 9.0000 90.0000 81.0000 88.0000 26.0000 65.0000 40.0000 73.0000 80.0000 37.0000 18.2500 50.0000 19.5000 5.0000 12.5000 97.0000 36.0000 95.0000 5.0000 12.0000 28.0000 37.0000 90.0000 24.5000 100.0000 8.0000 90.0000 13.7500 56.0000 7.0000 90.0000 7.0000 2.0000 13.0000 25.0000 19.0000 1.0000 56.0000 97.0000 86.0000 46.5000 84.0000 13.0000 74.0000 14.7500 85.0000 37.5000 44.0000 33.0000 81.0000 75.0000 76.0000 56.0000 74.0000 8.0000 31.0000 60.0000 16.5000 97.0000 29.0000 1.0000 18.5000 3.0000 34.0000 58.0000 37.0000 87.0000 42.0000 95.0000 86.0000 45.0000 78.0000 11.0000 90.0000 16.0000 79.0000 100.0000 36.0000 18.0000 10.0000 35.0000 86.0000 41.0000 15.0000 42.0000 97.0000 51.0000 62.0000 91.0000 85.0000 10.0000 7.0000 65.0000 37.0000 100.0000 5.5000 26.0000 40.5000 4.0000 20.0000 16.0000 60.0000 84.0000 17.0000 3.0000 86.0000 75.0000 44.0000 21.0000 75.0000 95.0000 99.0000 12.0000 78.0000 4.5000 79.0000 1.0000 3.0000 88.0000 58.0000 67.0000 86.0000 100.0000 50.0000 18.0000 17.5000 16.0000 92.0000 85.0000 3.7500 98.0000 47.5000 11.0000 27.0000 15.0000 18.0000 55.0000 45.0000 78.0000 12.0000 48.0000 1.0000 46.5000 16.0000 15.0000 9.0000 22.5000 93.0000 31.0000 43.0000 36.0000 20.0000 20.0000 10.0000 1.0000 47.0000 98.0000 50.0000 33.0000 38.0000 82.0000 72.0000 7.0000 2.7500 1.0000 37.0000 99.0000 39.5000 17.0000 42.0000 39.0000 41.0000 25.0000 58.0000 63.0000 15.0000 16.5000 76.0000 37.0000 86.0000 7.2500 44.0000 10.0000 85.0000 33.5000 17.0000 17.0000 64.0000 57.0000 6.0000 100.0000 23.0000 71.0000 2.5000 3.0000 21.0000 46.0000 14.5000 62.0000 5.5000 73.0000 3.0000 100.0000 32.0000 48.0000 79.0000 18.0000 46.0000 35.0000 34.0000 21.5000 44.0000 54.0000 89.0000 24.0000 38.0000 18.5000 59.0000 23.0000 81.0000 43.0000 68.0000 69.0000 30.0000 11.0000 19.0000 76.0000 6.0000 90.0000 34.0000 63.0000 18.5000 58.0000 45.5000 55.0000 41.5000 89.0000 44.0000 10.0000 83.0000 59.0000 29.0000 24.0000 66.0000 9.0000 38.0000 93.0000 83.0000 9.5000 4.0000 46.0000 59.0000 8.5000 65.0000 73.0000 75.0000 24.0000 94.0000 69.0000 90.0000 35.0000 42.0000 80.0000 28.0000 2.0000 22.5000 3.0000 32.5000 45.0000 11.0000 100.0000 4.0000 23.0000 5.0000 32.0000 17.0000 87.0000 39.0000 12.0000 8.0000 100.0000 95.0000 21.7500 48.0000 40.0000 67.0000 32.0000 81.0000 62.0000 51.0000 21.0000 32.0000 99.0000 27.0000 91.0000 35.5000 48.0000 75.0000 16.0000 20.7500 98.0000 10.5000 16.0000 25.5000 1.0000 86.0000 84.0000 62.0000 63.0000 62.0000 98.0000 39.0000 35.5000 97.0000 33.0000 90.0000 17.5000 46.0000 29.0000 79.0000 26.5000 19.0000 22.0000 84.0000 79.0000 94.0000 32.0000 69.0000 90.0000 7.0000 30.0000 89.0000 1.0000 3.7500 70.0000 31.0000 42.0000 13.0000 13.0000 70.0000 80.0000 51.0000 83.0000 15.0000 96.0000 49.0000 10.0000 56.0000 38.0000 52.0000 2.7500 91.0000 43.5000 64.0000 8.0000 36.0000 33.0000 65.0000 14.0000 85.0000 75.0000 96.0000 47.0000 13.5000 75.0000 69.0000 67.0000 1.2500 30.0000 8.0000 28.0000 18.0000 76.0000 97.0000 28.0000 34.0000 92.0000 31.0000 77.0000 5.0000 40.0000 2.0000 2.0000 71.0000 16.2500 57.0000 32.0000 9.0000 29.5000 86.0000 85.0000 100.0000 51.0000 57.0000 97.0000 1.0000 49.0000 1.0000 66.0000 78.0000 52.0000 7.0000 81.0000 31.0000 55.0000 16.5000 72.0000 25.0000 90.0000 7.0000 76.0000 45.0000 88.0000 59.0000 20.0000 56.0000 24.0000 17.0000 9.0000 1.0000 25.0000 1.0000 27.5000 34.0000 85.0000 45.0000 88.0000 94.0000 95.0000 55.0000 15.0000 35.0000 32.0000 56.0000 77.0000 25.0000 71.0000 50.0000 76.0000 10.0000 25.0000 6.0000 6.0000 28.0000 81.0000 80.0000 67.0000 43.0000 27.5000 20.0000 94.0000 100.0000 1.5000 53.0000 27.5000 37.0000 44.5000 8.0000 74.0000 49.0000 48.0000 17.0000 87.0000 76.0000 36.0000 43.0000 75.0000 61.0000 32.0000 3.7500 6.0000 12.0000 55.0000 45.5000 83.0000 43.0000 44.0000 72.0000 38.0000 19.0000 72.0000 61.0000 12.0000 60.0000 46.0000 40.0000 12.2500 32.0000 31.0000 56.0000 25.0000 96.0000 88.0000 27.0000 62.0000 21.0000 22.0000 70.0000 14.0000 39.5000 14.0000 3.0000 35.0000 2.0000 92.0000 34.5000 23.0000 22.5000 22.0000 62.0000 44.0000 86.0000 72.0000 8.0000 7.0000 52.0000 9.5000 24.0000 82.0000 86.0000 7.2500 26.0000 36.5000 50.0000 36.5000 75.0000 89.0000 74.0000 76.0000 56.0000 88.0000 76.0000 99.0000 10.5000 22.0000 4.0000 30.0000 8.5000 100.0000 22.0000 2.0000 24.5000 31.0000 29.0000 9.0000 16.0000 12.0000 55.0000 35.0000 59.0000 26.5000 12.0000 78.0000 96.0000 23.0000 53.0000 10.5000 56.0000 42.5000 78.0000 70.0000 11.0000 46.0000 41.0000 97.0000 43.0000 17.0000 12.5000 85.0000 58.0000 5.0000 17.5000 73.0000 24.5000 42.0000 49.0000 30.0000 72.0000 52.0000 15.0000 75.0000 61.0000 27.0000 96.0000 25.0000 8.0000 75.0000 74.0000 20.0000 6.0000 1.0000 73.0000 41.0000 3.0000 39.0000 7.0000 55.0000 51.0000 89.0000 77.0000 100.0000 29.5000 27.0000 29.0000 11.0000 7.2500 30.0000 36.5000 21.0000 49.5000 58.0000 19.0000 23.0000 41.0000 77.0000 62.0000 10.0000 14.0000 44.0000 19.0000 92.0000 79.0000 11.7500 97.0000 1.0000 4.0000 5.5000 38.0000 53.0000 22.0000 24.0000 92.0000 5.0000 62.0000 19.0000 20.5000 98.0000 99.0000 87.0000 13.5000 38.0000 24.5000 54.0000 3.5000 17.0000 21.0000 52.0000 95.0000 58.0000 4.0000 36.0000 36.0000 11.5000 16.0000 11.0000 39.0000 10.5000 100.0000 9.5000 47.0000 43.5000 24.0000 33.0000 97.0000 64.0000 67.0000 73.0000 67.0000 82.0000 50.0000 25.0000 11.0000 57.0000 17.5000 81.0000 45.5000 5.0000 21.0000 23.0000 98.0000 53.0000 7.0000 ...