Cadena booleana

Published by Helen Yu in

Escribe tres funciones:

  1. boolean_and
  2. boolean_or
  3. boolean_xor

Estas funciones deben evaluar un arreglo de valores true y false, comenzando por el elemento situado más a la izquierda y evaluando por pares.

Ejemplos

boolean_and([true, true, false, true]) ➞ false
# [true, true, false, true] => [true, false, true] => [false, true] => false

boolean_or([true, true, false, false]) ➞ true
# [true, true, false, true] => [true, false, false] => [true, false] => true

boolean_xor([true, true, false, false]) ➞ false
# [true, true, false, false] => [false, false, false] => [false, false] => false

Notas

  • XOR es igual que OR, excepto que excluye [true, true].
  • Cada vez que evalúas los elementos en las posiciones 0 y 1, los reduces a un único resultado.