Cody

# Problem 3108. Don't Try, give up and return NaN.

Solution 612322

Submitted on 6 Apr 2015
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
A = 1:5; N = [-1 2 6]; values = [NaN 2 NaN]; assert(isequaln(giveup(A,N),values))

values = NaN 2 6 values = NaN 2 6 values = NaN 2 NaN

2   Pass
%% A = 10:-2:2; N = 5:-1:1; y_correct = 2:2:10; assert(isequaln(giveup(A,N),y_correct))

values = 2 4 3 2 1 values = 2 4 3 2 1 values = 2 4 6 2 1 values = 2 4 6 8 1 values = 2 4 6 8 10

3   Pass
%% A = [1 2 3 4 10]; N = 5; y_correct = 10; assert(isequaln(giveup(A,N),y_correct))

values = 10

4   Pass
%% A = 10:-2:2; N = -1; y_correct = NaN; assert(isequaln(giveup(A,N),y_correct))

values = NaN

5   Pass
%% A = [4 5 6]; N = [6 2]; y_correct = [NaN 5]; assert(isequaln(giveup(A,N),y_correct))

values = NaN 2 values = NaN 5

6   Pass
%% A = 4:randi([20 30]) ; N = randi(length(A)+20,1,10); K = N+3 ; K(K>max(A)) = NaN; y_correct = K; assert(isequaln(giveup(A,N),y_correct))

values = 12 2 35 25 5 21 5 11 19 28 values = 12 5 35 25 5 21 5 11 19 28 values = 12 5 NaN 25 5 21 5 11 19 28 values = 12 5 NaN NaN 5 21 5 11 19 28 values = 12 5 NaN NaN 8 21 5 11 19 28 values = 12 5 NaN NaN 8 24 5 11 19 28 values = 12 5 NaN NaN 8 24 8 11 19 28 values = 12 5 NaN NaN 8 24 8 14 19 28 values = 12 5 NaN NaN 8 24 8 14 22 28 values = 12 5 NaN NaN 8 24 8 14 22 NaN

7   Fail
%% A = [-23 4 56 0 44 11]; N = [7:-1.5:-2]; y_correct = [NaN NaN 0 NaN -23 NaN NaN]; assert(isequaln(giveup(A,N),y_correct))

Error: Attempted to access A(5.5); index must be a positive integer or logical.

8   Pass
%% A = magic(3); N = magic(4); y_correct = [ NaN 3 4 NaN 5 NaN NaN 7 2 6 9 NaN 1 NaN NaN 8]; assert(isequaln(giveup(A,N),y_correct))

values = NaN 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 values = NaN 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 values = NaN 2 3 13 5 11 10 8 2 7 6 12 4 14 15 1 values = NaN 2 3 13 5 11 10 8 2 7 6 12 1 14 15 1 values = NaN 3 3 13 5 11 10 8 2 7 6 12 1 14 15 1 values = NaN 3 3 13 5 NaN 10 8 2 7 6 12 1 14 15 1 values = NaN 3 3 13 5 NaN 10 8 2 6 6 12 1 14 15 1 values = NaN 3 3 13 5 NaN 10 8 2 6 6 12 1 NaN 15 1 values = NaN 3 4 13 5 NaN 10 8 2 6 6 12 1 NaN 15 1 values = NaN 3 4 13 5 NaN NaN 8 2 6 6 12 1 NaN 15 1 values = NaN 3 4 13 5 NaN NaN 8 2 6 9 12 1 NaN 15 1 values = NaN 3 4 13 5 NaN NaN 8 2 6 9 12 1 NaN NaN 1 values = NaN 3 4 NaN 5 NaN NaN 8 2 6 9 12 1 NaN NaN 1 values = NaN 3 4 NaN 5 NaN NaN 7 2 6 9 12 1 NaN NaN 1 values = NaN 3 4 NaN 5 NaN NaN 7 2 6 9 NaN 1 NaN NaN 1 values = NaN 3 4 NaN 5 NaN NaN 7 2 6 9 NaN 1 NaN NaN 8

9   Pass
%% A = magic(3); N = magic(4)-1; y_correct = [ NaN 8 3 NaN 1 NaN 2 6 7 9 5 NaN 4 NaN NaN NaN]; assert(isequaln(giveup(A,N),y_correct))

values = NaN 1 2 12 4 10 9 7 8 6 5 11 3 13 14 0 values = NaN 1 2 12 1 10 9 7 8 6 5 11 3 13 14 0 values = NaN 1 2 12 1 10 9 7 7 6 5 11 3 13 14 0 values = NaN 1 2 12 1 10 9 7 7 6 5 11 4 13 14 0 values = NaN 8 2 12 1 10 9 7 7 6 5 11 4 13 14 0 values = NaN 8 2 12 1 NaN 9 7 7 6 5 11 4 13 14 0 values = NaN 8 2 12 1 NaN 9 7 7 9 5 11 4 13 14 0 values = NaN 8 2 12 1 NaN 9 7 7 9 5 11 4 NaN 14 0 values = NaN 8 3 12 1 NaN 9 7 7 9 5 11 4 NaN 14 0 values = NaN 8 3 12 1 NaN 2 7 7 9 5 11 4 NaN 14 0 values = NaN 8 3 12 1 NaN 2 7 7 9 5 11 4 NaN 14 0 values = NaN 8 3 12 1 NaN 2 7 7 9 5 11 4 NaN NaN 0 values = NaN 8 3 NaN 1 NaN 2 7 7 9 5 11 4 NaN NaN 0 values = NaN 8 3 NaN 1 NaN 2 6 7 9 5 11 4 NaN NaN 0 values = NaN 8 3 NaN 1 NaN 2 6 7 9 5 NaN 4 NaN NaN 0 values = NaN 8 3 NaN 1 NaN 2 6 7 9 5 NaN 4 NaN NaN NaN

10   Pass
%% A = magic(4); N = magic(3)-1; y_correct = [ 7 NaN 2 5 4 11 9 14 16]; assert(isequaln(giveup(A,N),y_correct))

values = 7 0 5 2 4 6 3 8 1 values = 7 0 5 5 4 6 3 8 1 values = 7 0 5 5 4 6 9 8 1 values = 7 NaN 5 5 4 6 9 8 1 values = 7 NaN 5 5 4 6 9 8 1 values = 7 NaN 5 5 4 6 9 14 1 values = 7 NaN 2 5 4 6 9 14 1 values = 7 NaN 2 5 4 11 9 14 1 values = 7 NaN 2 5 4 11 9 14 16