วากยสัมพันธ์
~
ไม่
/\
และ
\/
หรือ
t
จริง
f
เท็จ
P
, Q
, FISH
ฯลฯ : ตัวแปร
(ผู้ประกอบการจะได้รับตามลำดับความสำคัญ)
บทนำ
บางสูตรบูลีนสามารถเปลี่ยนเป็นรูปแบบที่แตกต่างกันเพื่อให้สั้นลง ตัวอย่างเช่นสูตร
~(~P /\ ~Q)
สามารถเปลี่ยนเป็นแบบสั้น
P\/Q
ในขณะที่สูตร
P \/ ~P
สามารถเปลี่ยนเป็นแบบสั้น
t
ท้าทาย
ในความท้าทายนี้คุณจะต้องเขียนโปรแกรมที่ได้รับสูตรบูลใด ๆ โดยใช้เพียง/\
, \/
, ~
, t
, f
วงเล็บตัวแปรบูลีน (ตัวพิมพ์ใหญ่) และช่องว่างเอาท์พุทเป็นรูปแบบที่สั้นที่สุด (เนื่องจากอาจมีมากกว่าหนึ่งรูปแบบที่สั้นที่สุด ) ในลักษณะของนิพจน์นั้นซึ่งเทียบเท่ากับการกำหนดตัวแปรทั้งหมด รหัสที่สั้นที่สุด (ในภาษาใด ๆ ) ชนะ I / O สามารถทำได้ในลักษณะที่สมเหตุสมผล
นอกจากนี้เนื่องจากคำตอบนั้นยากต่อการตรวจสอบจึงเป็นประโยชน์ (แต่ไม่จำเป็น) เพื่อรวมคำอธิบายสั้น ๆ เกี่ยวกับการทำงานของรหัส
BooleanMinimize
)
b9c98d088b78c30bb2108008a064a7b95722a4694d90ddad94a025c2eb4ed30a
ซึ่งเป็น ฉันจะโพสต์รหัสจริงในภายหลังเนื่องจากฉันไม่ต้องการยับยั้งความคิดสร้างสรรค์