Computadora binaria par I-Ching

10

Introducción

I Ching es un antiguo texto de adivinación y el más antiguo de los clásicos chinos. Utiliza un tipo de adivinación llamada cleromancia, que produce números aparentemente aleatorios.

La unidad básica del Zhou yi es el hexagrama (卦 guà), una figura compuesta por seis líneas horizontales apiladas (爻 yáo). Cada línea está rota o no rota. El texto recibido del Zhou yi contiene los 64 hexagramas posibles

La secuencia del Rey Wen presenta los 64 hexagramas, agrupados en 32 pares. Para 28 de los pares, el segundo hexagrama se crea volteando el primero (es decir, 180 ° de rotación). La excepción a esta regla es para hexagramas simétricos que son iguales después de la rotación. Los socios para estos se obtienen invirtiendo cada línea: el sólido se rompe y el roto se vuelve sólido.

 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
    1        2        3        4            5        6        7        8   

 ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
    9       10       11       12           13       14       15       16   

 ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄
   17       18       19       20           21       22       23       24   

 ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄
 ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄
 ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
   25       26       27       28           29       30       31       32   

 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄
 ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
   33       34       35       36           37       38       39       40   

 ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄
 ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
   41       42       43       44           45       46       47       48   

 ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄
 ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄
   49       50       51       52           53       54       55       56   

 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄      ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄
 ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄
 ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄      ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄
   57       58       59       60           61       62       63       64   

Solicitud

El objetivo de esto es crear una pequeña herramienta que calcule el par para un valor de hexagrama dado.

  • Para traducir esto a binario, uso:, también broken line = 0, unbroken line = 1lo hexagram Number 1ha hecho binary value 63.

  • La herramienta toma exactamente un argumento, un número entre 1 y 64, como solicitud de par de hexagramas y produce dos exagramas que contienen el número solicitado y su opuesto (explicación: si arg es impar, la salida debe contener hexagrama de arg y arg + 1 , pero si arg es par, la salida debe contener hexagrama de arg - 1 y arg ).

  • La herramienta debe girar 180 ° el hexagrama solicitado sin ser simétrico , o invertirlo cuando sea simétrico .

  • No se autoriza ningún mapa, excepto este, que podría almacenarse de cualquier forma que le resulte útil.

     {  1:63,    3:34,    5:58,    7:16,    9:59,   11:56,   13:47,   15: 8,  
       17:38,   19:48,   21:37,   23: 1,   25:39,   27:33,   29:18,   31:14,  
       33:15,   35: 5,   37:43,   39:10,   41:49,   43:62,   45: 6,   47:22,  
       49:46,   51:36,   53:11,   55:44,   57:27,   59:19,   61:51,   63:42 }
    

    Este mapa contiene el valor binario de cada 1er exagrama de pares. Entonces, para cada par, primero debe tomarse de este mapa, pero segundo debe calcularse de acuerdo con la regla anterior.

  • Ouput debe contener dos hexagramas y sus números. Muestra:

    iChingHexaPair 1
     ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄
     ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄
     ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄
     ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄
     ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄
     ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄
        1        2   
    
    iChingHexaPair 14
     ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄
     ▄▄▄▄▄▄▄  ▄▄▄ ▄▄▄
     ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄
     ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄
     ▄▄▄ ▄▄▄  ▄▄▄▄▄▄▄
     ▄▄▄▄▄▄▄  ▄▄▄▄▄▄▄
       13       14   
    
  • Se aplica la escapatoria estándar

  • Evite el lenguaje no libre o la publicación posterior para casos de prueba completos.

Este es un , por lo que gana la respuesta más corta en caracteres .

Más corto por idioma

F. Hauri
fuente
@ MartinBüttner ¡Sí, gracias! Tal vez podríamos agregar una etiqueta: i-ching (no los frustré mientras buscaba I-Ching, hexagrama, etc.) Pero mi pregunta es más acerca derotating binary by 180°
F. Hauri
2
Tenga en cuenta que actualmente la laguna estándar con respecto a los lenguajes no libres se aplica solo a los desafíos de policías y ladrones .
Alex A.
@ AlexA.Pregunta modificada: el lenguaje no libre no es bienvenido pero no está prohibido, se requieren muestras de salida para los idiomas no libres .
F. Hauri

Respuestas:

4

Pitón 2, 65 61

Genera pares de hexagramas I-Ching unicode

def t(a):
 b=a+a%2
 for c in b-1,b:
  print unichr(19903+c),c

(Guardado 4 gracias a @ Sherlock9)

Ejemplo de entrada y salida:

>>> t(1)
䷀ 1
䷁ 2
>>> t(14)
䷌ 13
䷍ 14
Willem
fuente
1
Creo que puedes guardar 4 bytes conb=a+a%2
Sherlock9
Eso es una laguna: ¡no hay una calculadora binaria!
F. Hauri
@ F.Hauri: No dice que deba haber uno en la pregunta.
Deusovi
@Deusovi (1) En el título, (2) en la primera línea de solicitud, (3) Al menos, rompe la cuarta regla 1st has to be taken from this map:!
F. Hauri
1
@F: Dices que el objetivo es calcular el par, pero luego solo tienes que generar los pares de hexagramas. La 'tabla' está integrada en Unicode en lugar de en un archivo de texto, ¿qué tiene de malo?
Deusovi
3

Pitón 2, 252 245 244

Ahora incluye cálculo binario (ahorrando 8 caracteres gracias a @ Sherlock9):

d='?":\x10;8/\x08&0%\x01\'!\x12\x0e\x0f\x05+\n1>\x06\x16.$\x0b,\x1b\x133*'
k=lambda l:'\n'.join("{:06b}".format(l)).replace('1',u'▄▄▄▄▄▄▄').replace('0',u'▄▄▄ ▄▄▄')
def t(a):
 j=a+a%2-1;m=ord(d[j/2]);b=k(m);r=b[::-1];print b,j,'\n\n',r if r!=b else k(63-m),j+1

Ejemplo de entrada y salida:

>>> t(1)
▄▄▄▄▄▄▄
▄▄▄▄▄▄▄
▄▄▄▄▄▄▄
▄▄▄▄▄▄▄
▄▄▄▄▄▄▄
▄▄▄▄▄▄▄ 1 

▄▄▄ ▄▄▄
▄▄▄ ▄▄▄
▄▄▄ ▄▄▄
▄▄▄ ▄▄▄
▄▄▄ ▄▄▄
▄▄▄ ▄▄▄ 2
>>> t(3)
▄▄▄▄▄▄▄
▄▄▄ ▄▄▄
▄▄▄ ▄▄▄
▄▄▄ ▄▄▄
▄▄▄▄▄▄▄
▄▄▄ ▄▄▄ 3 

▄▄▄ ▄▄▄
▄▄▄▄▄▄▄
▄▄▄ ▄▄▄
▄▄▄ ▄▄▄
▄▄▄ ▄▄▄
▄▄▄▄▄▄▄ 4
Willem
fuente
1
Puede cambiar j=a+a%2-1a j=a-1, ya que está usando la división de enteros, pero deberá usar j+1y j+2en la declaración de impresión al final. Eso todavía te ahorra 2 bytes. También usando m=ord(d[j/2]);y men los dos lugares a los que llama k()ahorrará 6 bytes. Además, es la primera 0en el "{0:06b}".format(l)estrictamente necesario? Si no, ese es otro byte. Finalmente, si cambia a Python 3, puede deshacerse de los us que están delante ▄▄▄▄▄▄▄, pero print necesitará paréntesis, por lo que solo es un byte más. Te mantendré informado sobre cualquier otra cosa que piense.
Sherlock9
Lamentablemente, no puedo cambiar j=a+a%2-1a, j=a-1ya que debería mostrar los pares 13 y 14 cuando ingreso 14. Gracias por sus sugerencias
Willem,
Ah, tienes razon. Por cierto, tengo problemas para ejecutar este código en Ideone. ¿Puedes echar un vistazo? ideone.com/GdWu4e
Sherlock9
@ Sherlock9 Ideone parece estar teniendo problemas con los caracteres unicode ideone.com/FeK1rK
Willem
1
Ah gracias. Para guardar otro byte, escribiría def t(a):j=a+a%2-1;etc.. Ponlo todo en una línea, esencialmente. Y puedes escribir k=lambda l:para guardar otro byte.
Sherlock9
2

Puro bash 252

u=(▅▅▅{' ',▅}▅▅▅);m=_yWgXUL8CMB1Dxief5HaN@6mKAbIrjPG;s=$[($1-1)/2];r=$[64#${m:s:1}];for i in {0..5};do echo ${u[(r>>i)&1]} ${u[((r>>5)%2==r%2)&((r>>4)%2==(r>>1)%2)&((r>>3)%2==(r>>2)%2)?1^(r>>i)&1:(r>>(5-i))&1]};done;echo $[s*2+1] $[s*2+2]

con 2 saltos de línea más:

u=(▅▅▅{' ',▅}▅▅▅);m=_yWgXUL8CMB1Dxief5HaN@6mKAbIrjPG;s=$[($1-1)/2];r=$[64#${m:s
:1}];for i in {0..5};do echo ${u[(r>>i)&1]} ${u[((r>>5)%2==r%2)&((r>>4)%2==(r>>
1)%2)&((r>>3)%2==(r>>2)%2)?1^(r>>i)&1:(r>>(5-i))&1]};done;echo $[s*2+1] $[s*2+2]

Pruebas:

for k in 1 15 28 34;do set -- $k;echo request: $k;
u=(▅▅▅{' ',▅}▅▅▅);m=_yWgXUL8CMB1Dxief5HaN@6mKAbIrjPG;s=$[($1-1)/2];r=$[64#${m:s
:1}];for i in {0..5};do echo ${u[(r>>i)&1]} ${u[((r>>5)%2==r%2)&((r>>4)%2==(r>>
1)%2)&((r>>3)%2==(r>>2)%2)?1^(r>>i)&1:(r>>(5-i))&1]};done;echo $[s*2+1] $[s*2+2]
done;echo $[s*2+1] $[s*2+2]; done
request: 1
▅▅▅▅▅▅▅ ▅▅▅ ▅▅▅
▅▅▅▅▅▅▅ ▅▅▅ ▅▅▅
▅▅▅▅▅▅▅ ▅▅▅ ▅▅▅
▅▅▅▅▅▅▅ ▅▅▅ ▅▅▅
▅▅▅▅▅▅▅ ▅▅▅ ▅▅▅
▅▅▅▅▅▅▅ ▅▅▅ ▅▅▅
1 2
request: 15
▅▅▅ ▅▅▅ ▅▅▅ ▅▅▅
▅▅▅ ▅▅▅ ▅▅▅ ▅▅▅
▅▅▅ ▅▅▅ ▅▅▅▅▅▅▅
▅▅▅▅▅▅▅ ▅▅▅ ▅▅▅
▅▅▅ ▅▅▅ ▅▅▅ ▅▅▅
▅▅▅ ▅▅▅ ▅▅▅ ▅▅▅
15 16
request: 28
▅▅▅▅▅▅▅ ▅▅▅ ▅▅▅
▅▅▅ ▅▅▅ ▅▅▅▅▅▅▅
▅▅▅ ▅▅▅ ▅▅▅▅▅▅▅
▅▅▅ ▅▅▅ ▅▅▅▅▅▅▅
▅▅▅ ▅▅▅ ▅▅▅▅▅▅▅
▅▅▅▅▅▅▅ ▅▅▅ ▅▅▅
27 28
request: 34
▅▅▅▅▅▅▅ ▅▅▅ ▅▅▅
▅▅▅▅▅▅▅ ▅▅▅ ▅▅▅
▅▅▅▅▅▅▅ ▅▅▅▅▅▅▅
▅▅▅▅▅▅▅ ▅▅▅▅▅▅▅
▅▅▅ ▅▅▅ ▅▅▅▅▅▅▅
▅▅▅ ▅▅▅ ▅▅▅▅▅▅▅
33 34
F. Hauri
fuente