Göreviniz, kabul etmeyi seçerseniz, aşağıdaki mantıksal operatörler için basit bir doğruluk değerlendiricisi oluşturmaktır:
----------------------------------------------------------------------------------
Logical Name | Gate Name | Symbol | Symbol Name | Truth Table
----------------------------------------------------------------------------------
Identity | is | | (none) | 10
Negation | not | ~ | tilde | 01
Conjunction | and | & | ampersand | 1000
Disjunction | or | | | pipe | 1110
Negative Conjunction | nand | ^ | caret | 0111
Joint Denial | nor | v | "vee" | 0001
Exclusive Disjunction | xor | x | "ecks" | 0110
Equivalence | equals/xnor | = | equals | 1001
Implication | implies | > | greater than | 1011
Doğruluk tabloları aşağıdaki sıradadır:
- 1 1
- 1 0
- 0 1
- 0 0
Giriş, 0, 1 ve sembolü içeren basit bir dize olarak gelir. Girişi parametre olarak kabul edebilir veya stdin'deki kullanıcıdan okuyabilirsiniz. İşte bazı örnek giriş / çıkış çiftleri:
Input: 1
Output: 1
Input: ~1
Output: 0
Input: 0|1
Output: 1
Input: 1>0
Output: 0
İkili işleç her zaman boole değerinden önce görünürken, ikili işleçler her zaman iki boole değeri arasında görünür. Tüm girdilerin geçerli olacağını varsayabilirsiniz. Dizeler normal ASCII dizeleridir.
İsterseniz, 1 ve 0 yerine T ve F tuşlarını kullanabilirsiniz.
Bu kod golf: herhangi bir dilde en kısa kod kazanır!
^
ki sembol ismi caret demeli .