Dies ist die Fortsetzung dieser Herausforderung von Adnan . Wenn Sie diese Herausforderung mögen, werden Sie wahrscheinlich auch die andere mögen. Hör zu!
Ein Multiple - Choice - Test mit 8 Fragen mit je 4 Entscheidungen könnten die Antworten haben: BCADBADA
. In vier verschiedene Arrays konvertiert, mit wahr und falsch, wenn der aktuelle Buchstabe die Antwort ist, sieht es so aus
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]
Dies kann mit ein bisschen Logik komprimiert werden. Jede der Entscheidungen A
, B
, C
und D
kann durch zwei Wahr / Falsch - Wert gezeigt unten dargestellt werden:
A: 1 0
B: 0 1
C: 0 0
D: 1 1
Mit dieser Logik können wir die vier obigen Vektoren auf nur zwei komprimieren:
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]
Das heißt, die Lösung Ihren Test einfach: 00110111
, 10011010
. Wenn wir diese verketten, erhalten wir die Binärzahl
0011011110011010
oder eine 14234
Dezimalzahl. Verwenden Sie diesen Dezimalwert, um Ihren Test zu betrügen!
Herausforderung
Nehmen Sie eine Zahl N
im Bereich (einschließlich) [0, 65535]
und geben Sie eine Zeichenfolge mit der Antwort auf den Multiple-Choice-Test aus.
Testfälle:
14234
BCADBADA
38513
ABBDCAAB
0
CCCCCCCC
120
CBBBBCCC
65535
DDDDDDDD
39253
ABCDABCD
Die Ausgabe kann in Groß- oder Kleinbuchstaben erfolgen, Sie können jedoch keine anderen Symbole verwenden.
A=10, B=01
wurde C=nor(A,B)
und mich D=and(A,B)
von Adnans Herausforderung inspirieren ließ. Im Nachhinein wäre es vielleicht besser gewesen, es anders herum zu machen, aber gut ... Jetzt zu spät ...