Cody

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

Solution 1990298

Submitted on 25 Oct 2019
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 = 10:-2:2; N = 5:-1:1; y_correct = 2:2:10; assert(isequaln(giveup(A,N),y_correct))

values = 2 values = 2 4 values = 2 4 6 values = 2 4 6 8 values = 2 4 6 8 10

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

values = 10

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

values = NaN

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

values = NaN values = NaN 5

5   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 = NaN values = NaN NaN values = NaN NaN 16 values = NaN NaN 16 NaN values = NaN NaN 16 NaN NaN values = NaN NaN 16 NaN NaN 29 values = NaN NaN 16 NaN NaN 29 NaN values = NaN NaN 16 NaN NaN 29 NaN NaN values = NaN NaN 16 NaN NaN 29 NaN NaN NaN values = NaN NaN 16 NaN NaN 29 NaN NaN NaN 7

6   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))

values = NaN

Array indices must be positive integers or logical values. Error in giveup (line 6) values(i)=A(N(i)) Error in Test6 (line 4) assert(isequaln(giveup(A,N),y_correct))

7   Fail
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 values = NaN 5 values = NaN 5 2 values = NaN 5 2 1 values = NaN 5 2 1 3 values = NaN 5 2 1 3 NaN values = NaN 5 2 1 3 NaN 6 values = NaN 5 2 1 3 NaN 6 NaN values = NaN 5 2 1 3 NaN 6 NaN 4 values = NaN 5 2 1 3 NaN 6 NaN 4 NaN values = NaN 5 2 1 3 NaN 6 NaN 4 NaN 9 values = NaN 5 2 1 3 NaN 6 NaN 4 NaN 9 NaN values = NaN 5 2 1 3 NaN 6 NaN 4 NaN 9 NaN NaN values = NaN 5 2 1 3 NaN 6 NaN 4 NaN 9 NaN NaN 7 values = NaN 5 2 1 3 NaN 6 NaN 4 NaN 9 NaN NaN 7 NaN values = NaN 5 2 1 3 NaN 6 NaN 4 NaN 9 NaN NaN 7 NaN 8

Assertion failed.

8   Fail
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 values = NaN 1 values = NaN 1 7 values = NaN 1 7 4 values = NaN 1 7 4 8 values = NaN 1 7 4 8 NaN values = NaN 1 7 4 8 NaN 9 values = NaN 1 7 4 8 NaN 9 NaN values = NaN 1 7 4 8 NaN 9 NaN 3 values = NaN 1 7 4 8 NaN 9 NaN 3 2 values = NaN 1 7 4 8 NaN 9 NaN 3 2 5 values = NaN 1 7 4 8 NaN 9 NaN 3 2 5 NaN values = NaN 1 7 4 8 NaN 9 NaN 3 2 5 NaN NaN values = NaN 1 7 4 8 NaN 9 NaN 3 2 5 NaN NaN 6 values = NaN 1 7 4 8 NaN 9 NaN 3 2 5 NaN NaN 6 NaN values = NaN 1 7 4 8 NaN 9 NaN 3 2 5 NaN NaN 6 NaN NaN

Assertion failed.

9   Fail
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 values = 7 5 values = 7 5 9 values = 7 5 9 NaN values = 7 5 9 NaN 4 values = 7 5 9 NaN 4 14 values = 7 5 9 NaN 4 14 2 values = 7 5 9 NaN 4 14 2 11 values = 7 5 9 NaN 4 14 2 11 16

Assertion failed.