Cody

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

Solution 612324

Submitted on 6 Apr 2015 by Koteswar Rao Jerripothula
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 = 20 6 15 39 4 16 26 20 36 26 values = 20 9 15 39 4 16 26 20 36 26 values = 20 9 18 39 4 16 26 20 36 26 values = 20 9 18 NaN 4 16 26 20 36 26 values = 20 9 18 NaN 7 16 26 20 36 26 values = 20 9 18 NaN 7 19 26 20 36 26 values = 20 9 18 NaN 7 19 NaN 20 36 26 values = 20 9 18 NaN 7 19 NaN 23 36 26 values = 20 9 18 NaN 7 19 NaN 23 NaN 26 values = 20 9 18 NaN 7 19 NaN 23 NaN NaN

7   Pass
%% 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 5.5000 4.0000 2.5000 1.0000 -0.5000 -2.0000 values = NaN NaN 4.0000 2.5000 1.0000 -0.5000 -2.0000 values = NaN NaN 0 2.5000 1.0000 -0.5000 -2.0000 values = NaN NaN 0 NaN 1.0000 -0.5000 -2.0000 values = NaN NaN 0 NaN -23.0000 -0.5000 -2.0000 values = NaN NaN 0 NaN -23 NaN -2 values = NaN NaN 0 NaN -23 NaN NaN

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