Cody

# Problem 110. Make an N-dimensional Multiplication Table

Solution 1613503

Submitted on 20 Aug 2018
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
m = 5; n = 0; tt = 1; assert(isequal(ndtimestable(m,n),tt))

2   Fail
m = 10; n = 1; tt = (1:10)'; assert(isequal(ndtimestable(m,n),tt))

Error using permute ORDER must have at least N elements for an N-D array. Error in ndtimestable (line 4) [ans*permute((1:n)',circshift(1:d,i-1))]; Error in Test2 (line 4) assert(isequal(ndtimestable(m,n),tt))

3   Pass
m = 12; n = 2; tt= [ 1 2 3 4 5 6 7 8 9 10 11 12 2 4 6 8 10 12 14 16 18 20 22 24 3 6 9 12 15 18 21 24 27 30 33 36 4 8 12 16 20 24 28 32 36 40 44 48 5 10 15 20 25 30 35 40 45 50 55 60 6 12 18 24 30 36 42 48 54 60 66 72 7 14 21 28 35 42 49 56 63 70 77 84 8 16 24 32 40 48 56 64 72 80 88 96 9 18 27 36 45 54 63 72 81 90 99 108 10 20 30 40 50 60 70 80 90 100 110 120 11 22 33 44 55 66 77 88 99 110 121 132 12 24 36 48 60 72 84 96 108 120 132 144 ]; assert(isequal(ndtimestable(m,n),tt))

4   Fail
m = 3; n = 3; tt = zeros(m,m,m); tt(:,:,1) = [ 1 2 3 2 4 6 3 6 9 ]; tt(:,:,2) = [ 2 4 6 4 8 12 6 12 18 ]; tt(:,:,3) = [ 3 6 9 6 12 18 9 18 27 ]; assert(isequal(ndtimestable(m,n),tt))

Error using * Arguments must be 2-D, or at least one argument must be scalar. Use TIMES (.*) for elementwise multiplication. Error in ndtimestable (line 4) [ans*permute((1:n)',circshift(1:d,i-1))]; Error in Test4 (line 13) assert(isequal(ndtimestable(m,n),tt))

5   Fail
m = 2; n = 4; tt = zeros(m,m,m,m); tt(:,:,1,1) = ... [ 1 2 2 4 ]; tt(:,:,2,1) = ... [ 2 4 4 8 ]; tt(:,:,1,2) = ... [ 2 4 4 8 ]; tt(:,:,2,2) = ... [ 4 8 8 16 ]; assert(isequal(ndtimestable(m,n),tt))

Error using * Arguments must be 2-D, or at least one argument must be scalar. Use TIMES (.*) for elementwise multiplication. Error in ndtimestable (line 4) [ans*permute((1:n)',circshift(1:d,i-1))]; Error in Test5 (line 16) assert(isequal(ndtimestable(m,n),tt))

6   Fail
m = 2; n = 7; assert(numel(ndtimestable(m,n)) == m^n);

Error using * Arguments must be 2-D, or at least one argument must be scalar. Use TIMES (.*) for elementwise multiplication. Error in ndtimestable (line 4) [ans*permute((1:n)',circshift(1:d,i-1))]; Error in Test6 (line 3) assert(numel(ndtimestable(m,n)) == m^n);

### Community Treasure Hunt

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

Start Hunting!