당신이 당신의 학교 교육 년에 다시 기억한다면, 당신은에 대해 배우고 기억할 수있는 진실 테이블 . 그들은 지루해 보였지만 논리의 기초이며 모든 컴퓨팅은 논쟁의 여지가 있습니다 ...
문제
당신의 임무는 당신이 그것을 받아들이기로 선택한다면, 주어진 주어진 진리표를 출력 할 수있는 프로그램, 함수, 또는 코드 위젯을 작성하는 것입니다.
입력
입력은 진리표를 만들 논리 문을 포함하는 문자열 (데이터 구조와 같은)이됩니다. 예를 들면 다음과 같습니다.
p ∧ q
이것은 p and q
(논리적 결합)을 의미 하며 다음을 출력합니다 :
p q p ∧ q
T T T
T F F
F T F
F F F
간격을 확인하십시오. 열의 항목 이 머리글의 중앙에 있습니다.
캐릭터
바이트가 아닌 문자를 통한 점수 논리 비교 문자는 특별하며 항상 모양이 아닙니다. 다음 문자를 사용하십시오.
논리적 연결 (AND) : ∧
U + 2227
논리 이탈 (OR) : ∨
U + 2228
논리 부정 (NOT) ~
또는 ¬
U + 7e 및 U + ac
보너스
이 보너스는 모두 선택 사항이지만 점수를 떨어 뜨립니다. 선택하십시오.
논리 부정
논리 부정은 진리표의 단항 연산자입니다. !
대부분의 C 기반 언어 와 동일 합니다. 그것은 수 false
=> true
와 바이스의 경우도 마찬가지입니다. 그것은으로 표기되어 ¬
또는 ~
(당신은 모두를 지원해야합니다). 이를 지원하면 점수의 10 %가 떨어집니다. 그러나 결과를 표시하려면 추가 열을 추가해야합니다. 예를 들면 다음과 같습니다.
~p ∧ q
출력합니다 :
p ~p q ~p ∧ q
T F T F
T F F F
F T T T
F T F F
예쁜 인쇄
정상적인 테이블 표기법은 지루합니다. 예쁘게 보자! 예쁜 인쇄 형식은 p ∧ q
다음과 같습니다.
+---+---+-------+
| p | q | p ∧ q |
+---+---+-------+
| T | T | T |
+---+---+-------+
| T | F | F |
+---+---+-------+
| F | T | F |
+---+---+-------+
| F | F | F |
+---+---+-------+
예쁜 인쇄를위한 특별한 세부 사항 :
- 각 셀에는 1 개의 공백이 있습니다.
- 셀 값은 여전히 중앙에 있습니다
코드에서 테이블을 예쁘게 인쇄 한 다음 0.6을 곱하십시오. 이 보너스에이 기능을 사용하십시오 :
score = 0.6 * code
예
p ∧ q
:
p q p ∧ q
T T T
T F F
F T F
F F F
p ∨ q
:
p q p ∨ q
T T T
T F T
F T T
F F F
~p ∧ q
:
p ~p q ~p ∧ q
T F T F
T F F F
F T T T
F T F F
~p ∨ q
:
p ~p q ~p ∧ q
T F T T
T F F F
F T T T
F T F T
규칙
- 표준 허점 적용
- 외부 자원이 없음
- 규칙을 어기려면 영리하십시오.)
가장 짧은 코드 (문자)가 이깁니다. 행운을 빕니다!
score = 0.6 * (code - 15)
=.6 * code - 9
p
q
하고 r
진실 테이블)
p
및q
입니다. 이름이 항상 같지 않으면 테스트 예제에서 몇 가지 다른 옵션을 표시 할 수 있습니다. 그들은 항상 하나의 편지입니까?