C'est la suite de ce défi d' Adnan . Si vous aimez ce défi, il y a de fortes chances que vous aimiez aussi l'autre. Vérifiez-le!
Un test à choix multiples avec 8 questions chacun avec 4 choix pourrait avoir les réponses: BCADBADA
. Converti en quatre tableaux différents, avec vrai et faux si la lettre actuelle est la réponse, elle ressemblera à ceci
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]
Cela peut être compressé en utilisant un peu de logique. Chacun des choix A
, B
, C
et D
peut être représenté par deux valeurs vrai / faux ci - dessous:
A: 1 0
B: 0 1
C: 0 0
D: 1 1
En utilisant cette logique, nous pouvons compresser les quatre vecteurs ci-dessus à seulement deux:
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]
Autrement dit, la solution à votre test est simplement: 00110111
, 10011010
. En les concaténant, nous obtenons le nombre binaire
0011011110011010
, ou 14234
en décimal. Utilisez cette valeur décimale pour tricher sur votre test!
Défi
Prenez un nombre N
dans la plage (inclusive) [0, 65535]
et sortez une chaîne avec la réponse au test à choix multiple.
Cas de test:
14234
BCADBADA
38513
ABBDCAAB
0
CCCCCCCC
120
CBBBBCCC
65535
DDDDDDDD
39253
ABCDABCD
La sortie peut être en majuscules ou en minuscules, mais vous ne pouvez pas utiliser d'autres symboles.
A=10, B=01
, puis C=nor(A,B)
, et D=and(A,B)
, inspiré par le défi d'Adnan. Avec le recul, il aurait peut-être été préférable de faire l'inverse, mais bon ... Trop tard maintenant ...