30
2つの入力と1つの出力を備えた16個の論理ゲートすべてをゴルフしましょう!
たとえば、ゲートA and Bは2つの入力と1つの出力を持つ論理ゲートです。 以下の理由により、正確に16個あります。 各論理ゲートは2つの入力を受け取ります。これらの入力は、真実または偽であり、4つの可能な入力を提供します 4つの可能な入力のうち、それぞれが真実と偽の出力を持つことができます したがって、2 ^ 4の可能性のある論理ゲートがあり、16です。 あなたの仕事は、それらすべてを個別に実装する16のプログラム/関数を書くことです。 機能/プログラムは独立している必要があります。 これらは、true / falsey値を出力する限り有効です。つまり、およびで生成されたA or Bとしてlambda a,b:a+bも、Pythonでとして実装できます。2A=TrueB=True スコアは、各機能/プログラムに使用される合計バイト数です。 論理ゲートのリスト 0,0,0,0(false) 0,0,0,1(and) 0,0,1,0(A and not B) 0,0,1,1(A) 0,1,0,0(not A and B) 0,1,0,1(B) 0,1,1,0(xor) 0,1,1,1(or) 1,0,0,0(nor) 1,0,0,1(xnor) 1,0,1,0(not B) 1,0,1,1(B implies A) 1,1,0,0(not A) 1,1,0,1(A implies B) 1,1,1,0(nand) 1,1,1,1(true) 最初の数字がの出力でA=false, B=falseあり、2番目がの出力でA=false, B=trueあり、3番目がの出力でA=true, …