Cody

Problem 793. Combinations without using nchoosek

Solution 2276229

Submitted on 13 May 2020 by Michael
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
n = 3; y_correct = nchoosek(1:n,2); assert(isequal(your_fcn_name(n),y_correct)) % Prevents cheating filetext = fileread('your_fcn_name.m') assert(isempty(strfind(filetext, 'nchoosek')))

filetext = 'function output = your_fcn_name(n) output = [1 2]; while output(end,1) < n-1 if output(end, 2) == n output(end+1, 1) = output(end, 1) + 1; output(end, 2) = output(end, 1) + 1; else output(end+1, 1) = output(end, 1); output(end, 2) = output(end-1, 2) + 1; end end end %This code written by profile_id 912581 '

2   Pass
n = 25; y_correct = nchoosek(1:n,2); assert(isequal(your_fcn_name(n),y_correct)) filetext = fileread('your_fcn_name.m') assert(isempty(strfind(filetext, 'nchoosek')))

filetext = 'function output = your_fcn_name(n) output = [1 2]; while output(end,1) < n-1 if output(end, 2) == n output(end+1, 1) = output(end, 1) + 1; output(end, 2) = output(end, 1) + 1; else output(end+1, 1) = output(end, 1); output(end, 2) = output(end-1, 2) + 1; end end end %This code written by profile_id 912581 '

3   Pass
n = 112; y_correct = nchoosek(1:n,2); assert(isequal(your_fcn_name(n),y_correct)) filetext = fileread('your_fcn_name.m') assert(isempty(strfind(filetext, 'nchoosek')))

filetext = 'function output = your_fcn_name(n) output = [1 2]; while output(end,1) < n-1 if output(end, 2) == n output(end+1, 1) = output(end, 1) + 1; output(end, 2) = output(end, 1) + 1; else output(end+1, 1) = output(end, 1); output(end, 2) = output(end-1, 2) + 1; end end end %This code written by profile_id 912581 '

4   Pass
n = 2 y_correct = nchoosek(1:n,2); assert(isequal(your_fcn_name(n),y_correct)) filetext = fileread('your_fcn_name.m') assert(isempty(strfind(filetext, 'nchoosek')))

n = 2 filetext = 'function output = your_fcn_name(n) output = [1 2]; while output(end,1) < n-1 if output(end, 2) == n output(end+1, 1) = output(end, 1) + 1; output(end, 2) = output(end, 1) + 1; else output(end+1, 1) = output(end, 1); output(end, 2) = output(end-1, 2) + 1; end end end %This code written by profile_id 912581 '

Community Treasure Hunt

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

Start Hunting!