Esta es la secuela de este desafío de Adnan . Si te gusta este desafío, es probable que también te guste el otro. ¡Echale un vistazo!
Una prueba de elección múltiple con 8 preguntas cada uno con 4 opciones podría tener las respuestas: BCADBADA
. Convertido a cuatro matrices diferentes, con verdadero y falso si la letra actual es la respuesta, se verá así
Q#: 1 2 3 4 5 6 7 8
B C A D B A D A
A: [0, 0, 1, 0, 0, 1, 0, 1]
B: [1, 0, 0, 0, 1, 0, 0, 0]
C: [0, 1, 0, 0, 0, 0, 0, 0]
D: [0, 0, 0, 1, 0, 0, 1, 0]
Esto se puede comprimir usando un poco de lógica. Cada una de las opciones A
, B
, C
y D
puede ser representado por dos valores verdadero / falso se muestra a continuación:
A: 1 0
B: 0 1
C: 0 0
D: 1 1
Usando esta lógica, podemos comprimir los cuatro vectores anteriores a solo dos:
1 2 3 4 5 6 7 8
B C A D B A D A
[0, 0, 1, 1, 0, 1, 1, 1]
[1, 0, 0, 1, 1, 0, 1, 0]
Es decir, la solución a su prueba es simplemente: 00110111
, 10011010
. Al concatenar estos, obtenemos el número binario
0011011110011010
, o 14234
en decimal. ¡Usa este valor decimal para hacer trampa en tu prueba!
Reto
Tome un número N
en el rango (incluido) [0, 65535]
y envíe una cadena con la respuesta a la prueba de opción múltiple.
Casos de prueba:
14234
BCADBADA
38513
ABBDCAAB
0
CCCCCCCC
120
CBBBBCCC
65535
DDDDDDDD
39253
ABCDABCD
La salida puede estar en mayúsculas o minúsculas, pero no puede usar otros símbolos.
A=10, B=01
, entonces C=nor(A,B)
, y D=and(A,B)
, inspirado por el desafío de Adnan. En retrospectiva, podría haber sido mejor hacerlo al revés, pero bueno ... Demasiado tarde ahora ...