Nhiệm vụ của bạn, nếu bạn chọn chấp nhận nó, là xây dựng một bộ đánh giá sự thật đơn giản cho các toán tử logic sau:
----------------------------------------------------------------------------------
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
Các bảng chân lý theo thứ tự sau:
- 1 1
- 1 0
- 0 1
- 0 0
Đầu vào sẽ có một chuỗi đơn giản là 0, 1 và ký hiệu. Bạn có thể chấp nhận đầu vào dưới dạng tham số hoặc đọc từ người dùng trên stdin. Dưới đây là một số cặp đầu vào / đầu ra mẫu:
Input: 1
Output: 1
Input: ~1
Output: 0
Input: 0|1
Output: 1
Input: 1>0
Output: 0
Toán tử đơn nguyên (phủ định) sẽ luôn xuất hiện trước giá trị boolean, trong khi các toán tử nhị phân sẽ luôn xuất hiện giữa hai giá trị boolean. Bạn có thể cho rằng tất cả các đầu vào sẽ hợp lệ. Chuỗi là chuỗi ASCII thông thường.
Nếu bạn thích, bạn có thể sử dụng T và F thay vì 1 và 0. -6 cho số ký tự của bạn nếu bạn hỗ trợ cả hai.
Đây là code-golf : mã ngắn nhất trong bất kỳ ngôn ngữ nào thắng!
^
's tên biểu tượng nên nói caret .