在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Size refers to the number of nodes in a parse tree. Generally speaking, you can think of size as code length. What is Cody? see here
Problem 1. Times 2 - START HERE function y = times2(x) y = bitshift(x,1); % size=13 end function y = times2(x) y = 2*x; % size=12 (same as y=x+x) end function ans = times2(x) 2*x; % size=10 (best) end
Problem 2. Make the vector [1 2 3 4 5 6 7 8 9 10] function x = oneToTen x = [1 2 3 4 5 6 7 8 9 10]; % size=20 end function x = oneToTen x = 1:10; % size=11 end function ans = oneToTen 1:10; % size=9 (best) end function ans = oneToTen colon(1,10); % size=10 end function ans = oneToTen linspace(1,10,10); % size=11 end function x = oneToTen x = cumsum(ones(1,10)); % size=14 end
Problem 3. Find the sum of all the numbers of the input vector function ans = vecsum(x) sum(x); % size=10 (best) end function y = vecsum(x) y = sum(x(:)); % size=14 (useful for matrix)
end function y = vecsum(x) n = length(x); y = 0; for i = 1:n
y = y + x(i); % size=30 end end
Problem 4. Make a checkerboard matrix function a = checkerboard(n) a(1:2:n,1:2:n) = 1; a(2:2:n,2:2:n) = 1; % size=36 end function ans = checkerboard(n) invhilb(n)>0; % size=12 (best) end function a = checkerboard(n) a1 = repmat([1,0;0,1],n,n); a = a1(1:n,1:n); % size=31 end function a = checkerboard(n) for i=1:n
for j=1:n
a(i,j)=mod(i+j+1,2); % size=32 end; end; end
Problem 5. Triangle Numbers function ans = triangle(n) sum(1:n); % size=12 (best) end function ans = triangle(n) n*(n+1)/2; % size=15 end
Problem 6. Select every other element of a vector function ans = everyOther(x) x(1:2:end); % size=15 (best) end function ans = everyOther(x) x(1:2:length(x)); % size=16 (same as x(1:2:numel(x))) end function x = everyOther(x) x(2:2:end) = []; % size=18 end ps: 对于m-by-n的矩阵x,numel(x)=m*n, length(x)=n.
Problem 7. Column Removal function B = column_removal(A,n) A(:,n) = []; B = A; % size=19 end function A = column_removal(A,n) A(:,n) = []; % size=15 end function A = column_removal(A,n) A(:,n) = ''; % size=14 (best)
end function ans = column_removal(A,n) A(:,[1:n-1,n+1:end]); % size=24 end function ans = column_removal(A,n) A(:,1:end ~= n); % size=17 end
Problem 8. Add two numbers function ans = add_two_numbers(a,b) a+b; % size=11 end
Problem 9. Who Has the Most Change? function a = most_change(a) [~,a]=max(a*[.25;.05;.1;.01]); % size=24 end function b = most_change(a) [~,b]=max(sum(bsxfun(@times,a,str2num('[0.25,0.05,0.10,0.01]')),2)); % size=24
end function b = most_change(a) total = a * [25 5 10 1]'; b = find(total==max(total)); % size=28 end function b = most_change(a) [~,b] = max(a * str2num('[0.25; 0.05; 0.1; 0.01]')); % size=18 (best)
end
Problem 10. Determine whether a vector is monotonically increasing function ans = mono_increase(x) isequal(unique(x), x); % size=13 (best) end function ans = mono_increase(x) mean(diff(x)>0)==1 | isempty(diff(x))==1; % size=24 end function ans = mono_increase(x) all(diff(x)>0); % size=14 end
Problem 26. Determine if input is odd function ans = is_it_odd(n) bitand(n,1); % size=11 (best) end function ans = is_it_odd(n) mod(n,2); % size=11 (best) end function ans = is_it_odd(n) rem(n,2); % size=11 (best) end function ans = is_it_odd(n) 1-(round(n/2)==n/2); % size=19 end |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论