Sintaksis
~
tidak
/\
dan
\/
atau
t
benar
f
palsu
P
, Q
, FISH
, dll: variabel
(Operator diberikan dalam urutan prioritas)
pengantar
Beberapa formula boolean dapat diubah ke bentuk yang berbeda untuk membuatnya lebih pendek. Misalnya rumusnya
~(~P /\ ~Q)
dapat diubah ke bentuk yang lebih pendek
P\/Q
sedangkan formula
P \/ ~P
dapat diubah ke bentuk yang lebih pendek
t
Tantangan
Dalam tantangan ini, Anda diminta untuk menulis sebuah program yang, diberikan rumus boolean hanya menggunakan /\
, \/
, ~
, t
, f
, kurung, variabel boolean (dalam huruf besar), dan spasi, output bentuk terpendek (karena mungkin ada lebih dari satu bentuk terpendek ) dalam karakter ekspresi yang setara untuk semua penugasan variabel. Kode terpendek (dalam bahasa apa pun) menang. I / O dapat dilakukan dengan cara yang masuk akal.
Juga, karena jawaban sulit untuk diverifikasi, akan sangat membantu (tetapi tidak diharuskan) untuk menyertakan penjelasan singkat tentang bagaimana kode bekerja.
BooleanMinimize
)
b9c98d088b78c30bb2108008a064a7b95722a4694d90ddad94a025c2eb4ed30a
. Saya akan memposting kode aktual di kemudian hari, karena saya tidak ingin menahan kreativitas.