Cody

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

Solution 1990302

Submitted on 25 Oct 2019 by Nikolaos Nikolaou
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 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 values = 10

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

values = NaN 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 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 26 values = NaN 26 NaN values = NaN 26 NaN 17 values = NaN 26 NaN 17 NaN values = NaN 26 NaN 17 NaN NaN values = NaN 26 NaN 17 NaN NaN 22 values = NaN 26 NaN 17 NaN NaN 22 NaN values = NaN 26 NaN 17 NaN NaN 22 NaN 7 values = NaN 26 NaN 17 NaN NaN 22 NaN 7 8 values = NaN 26 NaN 17 NaN NaN 22 NaN 7 8

6   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 values = NaN NaN values = NaN NaN 0 values = NaN NaN 0 NaN values = NaN NaN 0 NaN -23 values = NaN NaN 0 NaN -23 NaN values = NaN NaN 0 NaN -23 NaN NaN values = NaN NaN 0 NaN -23 NaN NaN

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

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

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