Cody

# Problem 1187. Knave in the middle attack

Solution 439369

Submitted on 7 May 2014 by Alfonso Nieto-Castanon
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=true; X=@isprime; str='X(4)'; f0=inline('logical(interp1([0,1],[0,x],1))','x','A','X'); F=@(str)xor(~A,f0(eval(str),A,X)); clear A X; assert(isequal(AnswerGenerator(F,str),true))

``` ```

2   Pass
%% A=false; X=@isprime; str='X(4)'; f0=inline('logical(interp1([0,1],[0,x],1))','x','A','X'); F=@(str)xor(~A,f0(eval(str),A,X)); clear A X; assert(isequal(AnswerGenerator(F,str),false))

``` ```

3   Pass
%% A=true; X=@isprime; str='A==true'; f0=inline('logical(interp1([0,1],[0,x],1))','x','A','X'); F=@(str)xor(~A,f0(eval(str),A,X)); clear A X; assert(isequal(AnswerGenerator(F,str),true))

``` ```

4   Pass
%% A=false; X=@isprime; str='A==true'; f0=inline('logical(interp1([0,1],[0,x],1))','x','A','X'); F=@(str)xor(~A,f0(eval(str),A,X)); clear A X; assert(isequal(AnswerGenerator(F,str),true))

``` ```

5   Pass
%% A=true; X=@isprime; str='F(''A==true'')'; f0=inline('logical(interp1([0,1],[0,x],1))','x','A','X'); F=@(str)xor(~A,f0(eval(str),A,X)); clear A X; assert(isequal(AnswerGenerator(F,str),false))

``` ```

6   Pass
%% A=false; X=@isprime; str='F(''A==true'')'; f0=inline('logical(interp1([0,1],[0,x],1))','x','A','X'); F=@(str)xor(~A,f0(eval(str),A,X)); clear A X; assert(isequal(AnswerGenerator(F,str),true))

``` ```

7   Pass
%% A=true; X=@isprime; str='diff(X(2:3))'; f0=inline('logical(interp1([0,1],[0,x],1))','x','A','X'); F=@(str)xor(~A,f0(eval(str),A,X)); clear A X; assert(isequal(AnswerGenerator(F,str),true))

``` ```

8   Pass
%% A=false; X=@isprime; str='diff(X(2:3))'; f0=inline('logical(interp1([0,1],[0,x],1))','x','A','X'); F=@(str)xor(~A,f0(eval(str),A,X)); clear A X; assert(isequal(AnswerGenerator(F,str),false))

``` ```

9   Pass
%% A=true; X=@isprime; str='A==X(6)'; f0=inline('logical(interp1([0,1],[0,x],1))','x','A','X'); F=@(str)xor(~A,f0(eval(str),A,X)); clear A X; assert(isequal(AnswerGenerator(F,str),false))

``` ```

10   Pass
%% A=false; X=@isprime; str='A==X(6)'; f0=inline('logical(interp1([0,1],[0,x],1))','x','A','X'); F=@(str)xor(~A,f0(eval(str),A,X)); clear A X; assert(isequal(AnswerGenerator(F,str),false))

``` ```

11   Pass
%% A=true; X=@isprime; str='A&any(X(1:3))'; f0=inline('logical(interp1([0,1],[0,x],1))','x','A','X'); F=@(str)xor(~A,f0(eval(str),A,X)); clear A X; assert(isequal(AnswerGenerator(F,str),true))

``` ```

12   Pass
%% A=false; X=@isprime; str='A&any(X(1:3))'; f0=inline('logical(interp1([0,1],[0,x],1))','x','A','X'); F=@(str)xor(~A,f0(eval(str),A,X)); clear A X; assert(isequal(AnswerGenerator(F,str),true))

``` ```

13   Pass
%% A=true; X=@(x)rem(x,2); str='F(''F(''''X(3)'''')'')'; f0=inline('logical(interp1([0,1],[0,x],1))','x','A','X'); F=@(str)xor(~A,f0(eval(str),A,X)); clear A X; assert(isequal(AnswerGenerator(F,str),false))

``` ```

14   Pass
%% A=false; X=@(x)rem(x,2); str='F(''F(''''X(3)'''')'')'; f0=inline('logical(interp1([0,1],[0,x],1))','x','A','X'); F=@(str)xor(~A,f0(eval(str),A,X)); clear A X; assert(isequal(AnswerGenerator(F,str),true))

``` ```