Cody

# Problem 944. Create incremental spiral WITHOUT USING EVAL or FEVAL

Solution 1164058

Submitted on 15 Apr 2017 by David Verrelli
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
fid = fopen('feval.m','w'); fprintf(fid,'function feval(a)\nerror;\n'); fclose(fid); fid = fopen('eval.m','w'); fprintf(fid,'function eval(a)\nerror;\n'); fclose(fid); forbidden = '(eval|regexp|inline)'; x = 3; y_correct = [ 1 2 3 8 9 4 7 6 5 ]; assert(isequal(pyramid(x),y_correct) && isempty(regexp(evalc('type pyramid'),forbidden))) x = 6; y_correct = [ 1 2 3 4 5 6 20 21 22 23 24 7 19 32 33 34 25 8 18 31 36 35 26 9 17 30 29 28 27 10 16 15 14 13 12 11 ]; assert(isequal(pyramid(x),y_correct) && isempty(regexp(evalc('type pyramid'),forbidden))) x = 1; y_correct = 1; assert(isequal(pyramid(x),y_correct) && isempty(regexp(evalc('type pyramid'),forbidden)))

row = 1 col = 1 y = 1 NaN NaN NaN NaN NaN NaN NaN NaN row = 1 col = 2 y = 1 2 NaN NaN NaN NaN NaN NaN NaN row = 1 col = 3 y = 1 2 3 NaN NaN NaN NaN NaN NaN currentDirnIdx = 2 currentPosn = 2 3 row = 2 col = 3 y = 1 2 3 NaN NaN 4 NaN NaN NaN row = 3 col = 3 y = 1 2 3 NaN NaN 4 NaN NaN 5 currentDirnIdx = 3 currentPosn = 3 2 row = 3 col = 2 y = 1 2 3 NaN NaN 4 NaN 6 5 row = 3 col = 1 y = 1 2 3 NaN NaN 4 7 6 5 currentDirnIdx = 4 currentPosn = 2 1 row = 2 col = 1 y = 1 2 3 8 NaN 4 7 6 5 currentDirnIdx = 1 currentPosn = 2 2 row = 2 col = 2 y = 1 2 3 8 9 4 7 6 5 currentDirnIdx = 2 currentPosn = 3 2 row = 1 col = 1 y = 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN row = 1 col = 2 y = 1 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN row = 1 col = 3 y = 1 2 3 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN row = 1 col = 4 y = 1 2 3 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN row = 1 col = 5 y = 1 2 3 4 5 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN row = 1 col = 6 y = 1 2 3 4 5 6 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN currentDirnIdx = 2 currentPosn = 2 6 row = 2 col = 6 y = 1 2 3 4 5 6 NaN NaN NaN NaN NaN 7 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN row = 3 col = 6 y = 1 2 3 4 5 6 NaN NaN NaN NaN NaN 7 NaN NaN NaN NaN NaN 8 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN row = 4 col = 6 y = 1 2 3 4 5 6 NaN NaN NaN NaN NaN 7 NaN NaN NaN NaN NaN 8 NaN NaN NaN NaN NaN 9 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN row = 5 col = 6 y = 1 2 3 4 5 6 NaN NaN NaN NaN NaN 7 NaN NaN NaN NaN NaN 8 NaN NaN NaN NaN NaN 9 NaN NaN NaN NaN NaN 10 NaN NaN NaN NaN NaN NaN row = 6 col = 6 y = 1 2 3 4 5 6 NaN NaN NaN NaN NaN 7 NaN NaN NaN NaN NaN 8 NaN NaN NaN NaN NaN 9 NaN NaN NaN NaN NaN 10 NaN NaN NaN NaN NaN 11 currentDirnIdx = 3 currentPosn = 6 5 row = 6 col = 5 y = 1 2 3 4 5 6 NaN NaN NaN NaN NaN 7 NaN NaN NaN NaN NaN 8 NaN NaN NaN NaN NaN 9 NaN NaN NaN NaN NaN 10 NaN NaN NaN NaN 12 11 row = 6 col = 4 y = 1 2 3 4 5 6 NaN NaN NaN NaN NaN 7 NaN NaN NaN NaN NaN 8 NaN NaN NaN NaN NaN 9 NaN NaN NaN NaN NaN 10 NaN NaN NaN 13 12 11 row = 6 col = 3 y = 1 2 3 4 5 6 NaN NaN NaN NaN NaN 7 NaN NaN NaN NaN NaN 8 NaN NaN NaN NaN NaN 9 NaN NaN NaN NaN NaN 10 NaN NaN 14 13 12 11 row = 6 col = 2 y = 1 2 3 4 5 6 NaN NaN NaN NaN NaN 7 NaN NaN NaN NaN NaN 8 NaN NaN NaN NaN NaN 9 NaN NaN NaN NaN NaN 10 NaN 15 14 13 12 11 row = 6 col = 1 y = 1 2 3 4 5 6 NaN NaN NaN NaN NaN 7 NaN NaN NaN NaN NaN 8 NaN NaN NaN NaN NaN 9 NaN NaN NaN NaN NaN 10 16 15 14 13 12 11 currentDirnIdx = 4 currentPosn = 5 1 row = 5 col = 1 y = 1 2 3 4 5 6 NaN NaN NaN NaN NaN 7 NaN NaN NaN NaN NaN 8 NaN NaN NaN NaN NaN 9 17 NaN NaN NaN NaN 10 16 15 14 13 12 11 row = 4 col = 1 y = 1 2 3 4 5 6 NaN NaN NaN NaN NaN 7 NaN NaN NaN NaN NaN 8 18 NaN NaN NaN NaN 9 17 NaN NaN NaN NaN 10 16 15 14 13 12 11 row = 3 col = 1 y = 1 2 3 4 5 6 NaN NaN NaN NaN NaN 7 19 NaN NaN NaN NaN 8 18 NaN NaN NaN NaN 9 17 NaN NaN NaN NaN 10 16 15 14 13 12 11 row = 2 col = 1 y = 1 2 3 4 5 6 20 NaN NaN NaN NaN 7 19 NaN NaN NaN NaN 8 18 NaN NaN NaN NaN 9 17 NaN NaN NaN NaN 10 16 15 14 13 12 11 currentDirnIdx = 1 currentPosn = 2 2 row = 2 col = 2 y = 1 2 3 4 5 6 20 21 NaN NaN NaN 7 19 NaN NaN NaN NaN 8 18 NaN NaN NaN NaN 9 17 NaN NaN NaN NaN 10 16 15 14 13 12 11 row = 2 col = 3 y = 1 2 3 4 5 6 20 21 22 NaN NaN 7 19 NaN NaN NaN NaN 8 18 NaN NaN NaN NaN 9 17 NaN NaN NaN NaN 10 16 15 14 13 12 11 row = 2 col = 4 y = 1 2 3 4 5 6 20 21 22 23 NaN 7 19 NaN NaN NaN NaN 8 18 NaN NaN NaN NaN 9 17 NaN NaN NaN NaN 10 16 15 14 13 12 11 row = 2 col = 5 y = 1 2 3 4 5 6 20 21 22 23 24 7 19 NaN NaN NaN NaN 8 18 NaN NaN NaN NaN 9 17 NaN NaN NaN NaN 10 16 15 14 13 12 11 currentDirnIdx = 2 currentPosn = 3 5 row = 3 col = 5 y = 1 2 3 4 5 6 20 21 22 23 24 7 19 NaN NaN NaN 25 8 18 NaN NaN NaN NaN 9 17 NaN NaN NaN NaN 10 16 15 14 13 12 11 row = 4 col = 5 y = 1 2 3 4 5 6 20 21 22 23 24 7 19 NaN NaN NaN 25 8 18 NaN NaN NaN 26 9 17 NaN NaN NaN NaN 10 16 15 14 13 12 11 row = 5 col = 5 y = 1 2 3 4 5 6 20 21 22 23 24 7 19 NaN NaN NaN 25 8 18 NaN NaN NaN 26 9 17 NaN NaN NaN 27 10 16 15 14 13 12 11 currentDirnIdx = 3 currentPosn = 5 4 row = 5 col = 4 y = 1 2 3 4 5 6 20 21 22 23 24 7 19 NaN NaN NaN 25 8 18 NaN NaN NaN 26 9 17 NaN NaN 28 27 10 16 15 14 13 12 11 row = 5 col = 3 y = 1 2 3 4 5 6 20 21 22 23 24 7 19 NaN NaN NaN 25 8 18 NaN NaN NaN 26 9 17 NaN 29 28 27 10 16 15 14 13 12 11 row = 5 col = 2 y = 1 2 3 4 5 6 20 21 22 23 24 7 19 NaN NaN NaN 25 8 18 NaN NaN NaN 26 9 17 30 29 28 27 10 16 15 14 13 12 11 currentDirnIdx = 4 currentPosn = 4 2 row = 4 col = 2 y = 1 2 3 4 5 6 20 21 22 23 24 7 19 NaN NaN NaN 25 8 18 31 NaN NaN 26 9 17 30 29 28 27 10 16 15 14 13 12 11 row = 3 col = 2 y = 1 2 3 4 5 6 20 21 22 23 24 7 19 32 NaN NaN 25 8 18 31 NaN NaN 26 9 17 30 29 28 27 10 16 15 14 13 12 11 currentDirnIdx = 1 currentPosn = 3 3 row = 3 col = 3 y = 1...