Ini adalah sekuel dari tantangan ini oleh Adnan . Jika Anda menyukai tantangan ini, kemungkinan Anda juga akan menyukai tantangan yang lain. Saksikan berikut ini!
Sebuah tes pilihan ganda dengan 8 pertanyaan masing-masing dengan 4 pilihan mungkin memiliki jawaban: BCADBADA
. Dikonversi menjadi empat array yang berbeda, dengan benar dan salah jika huruf saat ini adalah jawabannya, akan terlihat seperti ini
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]
Ini dapat dikompres menggunakan sedikit logika. Masing-masing pilihan A
, B
, C
dan D
dapat diwakili oleh dua / nilai-nilai palsu yang benar ditunjukkan di bawah ini:
A: 1 0
B: 0 1
C: 0 0
D: 1 1
Dengan menggunakan logika ini, kita dapat memampatkan empat vektor di atas menjadi hanya dua:
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]
Artinya, solusi untuk pengujian Anda adalah: 00110111
, 10011010
. Dengan menggabungkan ini, kita mendapatkan angka biner
0011011110011010
, atau 14234
dalam desimal. Gunakan nilai desimal ini untuk menipu pada tes Anda!
Tantangan
Ambil angka N
dalam kisaran (inklusif) [0, 65535]
, dan keluarkan string dengan jawaban untuk tes pilihan ganda.
Kasus uji:
14234
BCADBADA
38513
ABBDCAAB
0
CCCCCCCC
120
CBBBBCCC
65535
DDDDDDDD
39253
ABCDABCD
Outputnya mungkin dalam huruf besar atau kecil, tetapi Anda tidak dapat menggunakan simbol lainnya.
A=10, B=01
, kemudian C=nor(A,B)
, dan D=and(A,B)
, terinspirasi oleh tantangan Adnan. Kalau dipikir-pikir, mungkin lebih baik melakukannya sebaliknya, tapi yah ... Sudah terlambat sekarang ...