Składnia
~nie
/\i
\/czy
tprawdziwe
ffałszywe
P, Q, FISHitp: zmienne
(Operatory są podane w kolejności pierwszeństwa)
Wprowadzenie
Niektóre formuły logiczne można zmienić na różne formy, aby je skrócić. Na przykład formuła
~(~P /\ ~Q)
można zmienić na krótszą formę
P\/Q
podczas gdy formuła
P \/ ~P
można zmienić na krótszą formę
t
Wyzwanie
W tym wyzwaniem, które są wymagane, aby napisać program, który mając każdy logiczna formuły przy użyciu tylko /\, \/, ~, t, f, nawiasów zmiennych logicznych (w wielkie litery), a spacje, wyjścia najkrótszej formy (ponieważ nie może być więcej niż jedna najkrótsza forma ) w znakach tego wyrażenia, które jest równoważne dla wszystkich przypisań zmiennych. Najkrótszy kod (w dowolnym języku) wygrywa. I / O można wykonać w dowolny rozsądny sposób.
Ponieważ odpowiedzi są trudne do zweryfikowania, pomocne byłoby (ale nie jest to wymagane) podanie krótkiego wyjaśnienia, jak działa kod.
BooleanMinimize)
b9c98d088b78c30bb2108008a064a7b95722a4694d90ddad94a025c2eb4ed30a. Właściwy kod opublikuję później, ponieważ nie chcę stłumić kreatywności.