Cody

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

Solution 653968

Submitted on 16 Apr 2015 by Zikobrelli
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))

B = NaN 0 0 B = NaN 2 0 B = 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))

B = 2 0 0 0 0 B = 2 4 0 0 0 B = 2 4 6 0 0 B = 2 4 6 8 0 B = 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))

B = 10

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

B = NaN

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

B = NaN 0 B = 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))

B = 14 0 0 0 0 0 0 0 0 0 B = 14 17 0 0 0 0 0 0 0 0 B = 14 17 10 0 0 0 0 0 0 0 B = 14 17 10 NaN 0 0 0 0 0 0 B = 14 17 10 NaN 11 0 0 0 0 0 B = 14 17 10 NaN 11 16 0 0 0 0 B = 14 17 10 NaN 11 16 14 0 0 0 B = 14 17 10 NaN 11 16 14 19 0 0 B = 14 17 10 NaN 11 16 14 19 8 0 B = 14 17 10 NaN 11 16 14 19 8 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))

B = NaN 0 0 0 0 0 0 B = NaN NaN 0 0 0 0 0 B = NaN NaN 0 0 0 0 0 B = NaN NaN 0 NaN 0 0 0 B = NaN NaN 0 NaN -23 0 0 B = NaN NaN 0 NaN -23 NaN 0 B = 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))

B = NaN 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 B = NaN 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 B = NaN 0 0 0 5 0 0 0 2 0 0 0 0 0 0 0 B = NaN 0 0 0 5 0 0 0 2 0 0 0 1 0 0 0 B = NaN 3 0 0 5 0 0 0 2 0 0 0 1 0 0 0 B = NaN 3 0 0 5 NaN 0 0 2 0 0 0 1 0 0 0 B = NaN 3 0 0 5 NaN 0 0 2 6 0 0 1 0 0 0 B = NaN 3 0 0 5 NaN 0 0 2 6 0 0 1 NaN 0 0 B = NaN 3 4 0 5 NaN 0 0 2 6 0 0 1 NaN 0 0 B = NaN 3 4 0 5 NaN NaN 0 2 6 0 0 1 NaN 0 0 B = NaN 3 4 0 5 NaN NaN 0 2 6 9 0 1 NaN 0 0 B = NaN 3 4 0 5 NaN NaN 0 2 6 9 0 1 NaN NaN 0 B = NaN 3 4 NaN 5 NaN NaN 0 2 6 9 0 1 NaN NaN 0 B = NaN 3 4 NaN 5 NaN NaN 7 2 6 9 0 1 NaN NaN 0 B = NaN 3 4 NaN 5 NaN NaN 7 2 6 9 NaN 1 NaN NaN 0 B = 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))

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

B = 7 0 0 0 0 0 0 0 0 B = 7 0 0 5 0 0 0 0 0 B = 7 0 0 5 0 0 9 0 0 B = 7 NaN 0 5 0 0 9 0 0 B = 7 NaN 0 5 4 0 9 0 0 B = 7 NaN 0 5 4 0 9 14 0 B = 7 NaN 2 5 4 0 9 14 0 B = 7 NaN 2 5 4 11 9 14 0 B = 7 NaN 2 5 4 11 9 14 16