Cody

Solution 1607877

Submitted on 13 Aug 2018 by Srishti Saha
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('myProd.m'); assert(isempty(strfind(filetext, 'regexp')),'regexp hacks are forbidden')

2   Pass
filetext = fileread('myProd.m'); assert(isempty(strfind(filetext, 'prod')),'Cannot use prod() function')

3   Pass
mat = ones(5); v_correct = ones(1, 5); assert(isequal(myProd(mat),v_correct))

mult = 1 v = [] arr = 1 1 1 1 1 mult = 1 mult = 1 mult = 1 mult = 1 mult = 1 mult = 1 append = 1 v = 1 arr = 1 1 1 1 1 mult = 1 mult = 1 mult = 1 mult = 1 mult = 1 mult = 1 append = 1 v = 1 1 arr = 1 1 1 1 1 mult = 1 mult = 1 mult = 1 mult = 1 mult = 1 mult = 1 append = 1 v = 1 1 1 arr = 1 1 1 1 1 mult = 1 mult = 1 mult = 1 mult = 1 mult = 1 mult = 1 append = 1 v = 1 1 1 1 arr = 1 1 1 1 1 mult = 1 mult = 1 mult = 1 mult = 1 mult = 1 mult = 1 append = 1 v = 1 1 1 1 1

4   Pass
mat = [ 1, 2, 3, 4; 5, 6, 7, 2; 2, 3, 4, 5]; v_correct = [10, 36, 84, 40]; assert(isequal(myProd(mat),prod(mat)))

mult = 1 v = [] arr = 1 5 2 mult = 1 mult = 1 mult = 5 mult = 10 append = 10 v = 10 arr = 2 6 3 mult = 1 mult = 2 mult = 12 mult = 36 append = 36 v = 10 36 arr = 3 7 4 mult = 1 mult = 3 mult = 21 mult = 84 append = 84 v = 10 36 84 arr = 4 2 5 mult = 1 mult = 4 mult = 8 mult = 40 append = 40 v = 10 36 84 40

5   Pass
m = randi([5,15]); n = randi([5,15]); mat = randi(5, n, m); v_correct = prod(mat); assert(isequal(myProd(mat),prod(mat)))

mult = 1 v = [] arr = 1 5 4 2 1 1 5 4 4 1 3 5 2 5 2 mult = 1 mult = 1 mult = 5 mult = 20 mult = 40 mult = 40 mult = 40 mult = 200 mult = 800 mult = 3200 mult = 3200 mult = 9600 mult = 48000 mult = 96000 mult = 480000 mult = 960000 append = 960000 v = 960000 arr = 3 4 4 2 4 5 5 2 2 4 3 1 1 2 5 mult = 1 mult = 3 mult = 12 mult = 48 mult = 96 mult = 384 mult = 1920 mult = 9600 mult = 19200 mult = 38400 mult = 153600 mult = 460800 mult = 460800 mult = 460800 mult = 921600 mult = 4608000 append = 4608000 v = 960000 4608000 arr = 1 4 3 5 4 2 1 5 2 1 2 5 5 2 3 mult = 1 mult = 1 mult = 4 mult = 12 mult = 60 mult = 240 mult = 480 mult = 480 mult = 2400 mult = 4800 mult = 4800 mult = 9600 mult = 48000 mult = 240000 mult = 480000 mult = 1440000 append = 1440000 v = 960000 4608000 1440000 arr = 5 4 5 2 1 3 4 2 3 1 5 4 4 2 3 mult = 1 mult = 5 mult = 20 mult = 100 mult = 200 mult = 200 mult = 600 mult = 2400 mult = 4800 mult = 14400 mult = 14400 mult = 72000 mult = 288000 mult = 1152000 mult = 2304000 mult = 6912000 append = 6912000 v = 960000 4608000 1440000 6912000 arr = 1 5 3 2 4 5 1 4 5 1 3 4 5 1 4 mult = 1 mult = 1 mult = 5 mult = 15 mult = 30 mult = 120 mult = 600 mult = 600 mult = 2400 mult = 12000 mult = 12000 mult = 36000 mult = 144000 mult = 720000 mult = 720000 mult = 2880000 append = 2880000 v = 960000 4608000 1440000 6912000 2880000 arr = 4 5 4 1 5 1 3 2 3 5 1 4 4 5 3 mult = 1 mult = 4 mult = 20 mult = 80 mult = 80 mult = 400 mult = 400 mult = 1200 mult = 2400 mult = 7200 mult = 36000 mult = 36000 mult = 144000 mult = 576000 mult = 2880000 mult = 8640000 append = 8640000 v = 960000 4608000 1440000 6912000 2880000 8640000 arr = 5 2 1 3 2 4 1 4 3 3 1 1 5 4 5 mult = 1 mult = 5 mult = 10 mult = 10 mult = 30 mult = 60 mult = 240 mult = 240 mult = 960 mult = 2880 mult = 8640 mult = 8640 mult = 8640 mult = 43200 mult = 172800 mult = 864000 append = 864000 v = 960000 4608000 1440000 6912000 2880000 8640000 864000 arr = 2 5 5 3 1 1 1 4 4 3 1 2 1 5 4 mult = 1 mult = 2 mult = 10 mult = 50 mult = 150 mult = 150 mult = 150 mult = 150 mult = 600 mult = 2400 mult = 7200 mult = 7200 mult = 14400 mult = 14400 mult = 72000 mult = 288000 append = 288000 v = 960000 4608000 1440000 6912000 2880000 8640000 864000 288000 arr = 4 2 3 4 5 4 4 5 5 5 4 1 4 4 2 mult = 1 mult = 4 mult = 8 mult = 24 mult = 96 mult = 480 mult = 1920 mult = 7680 mult = 38400 mult = 192000 mult = 960000 mult = 3840000 mult = 3840000 mult = 15360000 mult = 61440000 mult = 122880000 append = 122880000 v = 960000 4608000 1440000 6912000 2880000 8640000 864000 288000 122880000 arr = 4 5 5 5 1 4 5 1 5 1 4 5 1 2 2 mult = 1 mult = 4 mult = 20 mult = 100 mult = 500 mult = 500 mult = 2000 mult = 10000 mult = 10000 mult = 50000 mult = 50000 mult = 200000 mult = 1000000 mult = 1000000 mult = 2000000 mult = 4000000 append = 4000000 v = 960000 4608000 1440000 6912000 2880000 8640000 864000 288000 122880000 4000000 arr = 4 3 1 2 5 5 1 5 3 2 1 1 1 1 4 mult = 1 mult = 4 mult = 12 mult = 12 mult = 24 mult = 120 mult = 600 mult = 600 mult = 3000 mult = 9000 mult = 18000 mult = 18000 mult = 18000 mult = 18000 mult = 18000 mult = 72000 append = 72000 v = 960000 4608000 1440000 6912000 2880000 8640000 864000 288000 122880000 4000000 72000 arr = 1 3 5 2 1 2 3 3 4 1 1 4 2 3 1 mult = 1 mult = 1 mult = 3 mult = 15 mult = 30 mult = 30 mult = 60 mult = 180 mult = 540 mult = 2160 mult = 2160 mult = 2160 mult = 8640 mult = 17280 mult = 51840 mult = 51840 append = 51840 v = 960000 4608000 1440000 6912000 2880000 8640000 864000 288000 122880000 4000000 72000 51840 arr = 2 4 1 4 1 4 5 4 5 2 4 3 4 2 5 mult = 1 mult = 2 mult = 8 mult = 8 mult = 32 mult = 32 mult = 128 mult = 640 mult = 2560 mult = 12800 mult = 25600 mult = 102400 mult = 307200 mult = 1228800 mult = 2457600 mult = 12288000 append = 12288000 v = 960000 4608000 1440000 6912000 2880000 8640000 864000 288000 122880000 4000000 72000 51840 12288000