Introducción
Definamos una función ternaria como una función del conjunto de tres elementos S = {0,1,2}en sí misma: se asocia a cada elemento de Sotro elemento de S. Un ejemplo de una función ternaria fes
f(0) = 0; f(1) = 2; f(2) = 0
Hay exactamente 27 funciones ternarias diferentes, y las representamos con números enteros del 0 al 26: una función fse codifica como f(0) + 3*f(1) + 9*f(2). La función de ejemplo anterior está codificada como el número 6.
Podemos aplicar dos funciones ternarias fy gen secuencia, y si se f(g(k)) == g(f(k))mantiene para todo kadentro S, entonces las funciones conmutan . Su tarea es verificar si este es el caso.
Entrada
Sus entradas son dos enteros en el rango inclusivo de 0 a 26. Representan dos funciones ternarias fy g. La entrada debe tomarse en 1formato decimal, binario o unario (cadena de s).
Salida
Su salida es un valor verdadero si fyg conmuta, y un valor falso si no lo hacen. No puede suponer que las entradas están ordenadas.
Ejemplos
Considere las entradas 5 y 16. Codifican las funciones ternarias
f(0) = 2; f(1) = 1; f(2) = 0
g(0) = 1; g(1) = 2; g(2) = 1
Tenemos f(g(1)) == f(2) == 0y g(f(1)) == g(1) == 2, así, fy gno conmutamos y la salida correcta es falsey.
Por otro lado, las entradas 3 y 10 codifican las funciones ternarias.
f(0) = 0; f(1) = 1; f(2) = 0
g(0) = 1; g(1) = 0; g(2) = 1
y se puede verificar que f(g(k)) == g(f(k))se cumple para todos ken S. Entonces el resultado correcto es verdadero.
Aquí está la tabla 27 × 27 de todas las entradas posibles, con +una salida verdadera y -una salida falsey:
+ - - + - - + - - + - - + - - + - - + - - + - - + - -
- + - - - - - - - - - - + - - - - - - - - + - - - - -
- - + - - - - - - - - - - - - - - - - - - + - - + - -
+ - - + - - - - - - + - - + - - - - + - - + - - - - -
- - - - + - - - - - - - - + - - - - - - - + - - - - -
- - - - - + - - - - - - - + - - - - - - - + - - - - -
+ - - - - - + - - - - - - - - - - - - - - + - - - - -
- - - - - - - + - - - + - - - - - - - - - + - - - - -
- - - - - - - - + - - - - - - - - - + - - + - - - - -
+ - - - - - - - - + - - - - - - - - - - - + - - - - -
- - - + - - - - - - + - - - - - - - - - - + - - - - -
- - - - - - - + - - - + - - - - - - - - - + - - - - -
+ + - - - - - - - - - - + + - - - - - - - + + - - - -
- - - + + + - - - - - - + + + - - - - - - + + + - - -
- - - - - - - - - - - - - + + - - - - - - + - - - - -
+ - - - - - - - - - - - - - - + - - - - - + - - - - -
- - - - - - - - - - - - - - - - + - - - - + - + - - -
- - - - - - - - - - - - - - - - - + - - - + + - - - -
+ - - + - - - - + - - - - - - - - - + - - + - - - - +
- - - - - - - - - - - - - - - - - - - + - + - - - - +
- - - - - - - - - - - - - - - - - - - - + + - - - - +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
- - - - - - - - - - - - + + - - - + - - - + + - - - +
- - - - - - - - - - - - - + - - + - - - - + - + + - +
+ - + - - - - - - - - - - - - - - - - - - + - + + - +
- - - - - - - - - - - - - - - - - - - - - + - - - + +
- - - - - - - - - - - - - - - - - - + + + + + + + + +
Reglas y puntaje
Puede escribir un programa completo o una función. El conteo de bytes más bajo gana, y las lagunas estándar no se permiten.

Respuestas:
Jalea,
171413 bytesPruébalo en línea! o verificar todos los casos 27 × 27 .
Cómo funciona
fuente
MATL ,
1918 bytesLa verdad es una matriz con todos los unos. Falsy es una matriz que contiene al menos un cero.
Pruébalo en línea! o verificar todos los casos (toma unos segundos).
fuente
Python 2, 61 bytes
Dada una entrada
i, podemos implementar la función representada pornhaciendon/3**i%3para extraer eliésima ternaria den. La función verifica que se obtenga el mismo resultado para cada una de ellas0,1,2al aplicar las funciones en cualquier orden. En realidad, dado que el primer paso es hacerlo3**, esto prueba con en su[1,3,9]lugar.La reutilización del código parece un desperdicio, pero no vi una mejor manera. Comparar:
fuente
JavaScript (ES7), 68 bytes
Lamentablemente, la conversión de base 3 era demasiado cara:
fuente
Mathematica, 77 bytes
¡La indexación basada en One de Mathematica ataca de nuevo!
fuente
{1,1,1}a una variable y usar eso.