如果您选择接受,那么您的任务就是为以下逻辑运算符构造一个简单的真值评估器:
----------------------------------------------------------------------------------
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
真值表的顺序如下:
- 1 1
- 1 0
- 0 1
- 0 0
输入将以简单的字符串0、1和符号形式出现。您可以接受输入作为参数,也可以从用户在stdin上读取它。以下是一些示例输入/输出对:
Input: 1
Output: 1
Input: ~1
Output: 0
Input: 0|1
Output: 1
Input: 1>0
Output: 0
一元运算符(否定)将始终出现在布尔值之前,而二进制运算符将始终出现在两个布尔值之间。您可以假定所有输入均有效。字符串是常规的ASCII字符串。
如果愿意,可以同时使用T和F而不是1和0。 如果同时支持,则在字符数上使用-6。
这是 代码高尔夫球:任何语言中最短的代码都会成功!
^
符号名称应该说成脱字号。