paizaでsympy その4


概要

sympyが、魔法なので、paizaで、やってみた。
練習問題、やってみた。

問題

XとYの否定論理積 X NAND Y は,NOT(X AND Y)として定義される。X OR Y をNANDだけを使って表した論理式はどれか。
((X NAND Y) NAND X) NAND Y
(X NAND X) NAND (Y NAND Y)
(X NAND Y) NAND (X NAND Y)
X NAND (Y NAND (X NAND Y))

from sympy.abc import X, Y
from sympy.logic.boolalg import *
import sympy

print (sympy.simplify_logic(~(Y & ~(X & ~(X & Y)))))
print (sympy.simplify_logic(~(~(X & X) & ~(Y & Y))))
print (sympy.simplify_logic(~(~(X & Y) & ~(X & Y))))
print (sympy.simplify_logic(~(X & ~(Y & ~(X & Y)))))

結果

~Y
X | Y
X & Y
~X

以上。