练习专区

今天的一小步就是明天的一大步
Problem 1849 求真值表
Accepted: 8   Total Submit: 16
Time Limit: 1000ms   Memory Limit: 30720KB
Description
在命题逻辑中有5个基本的联接词,分别是否定联接词、析取联接词、合取联接词、蕴涵联接词、等价联接词。对于给定的命题变项p和q,当q和q赋予不同的真值时,有上述5个联接词构成的合式公式具有不同的真值,对于所有的可能赋值可以得到相应的真值表。 现在请你编程计算它们的真值表。 比如:对于析取联接词v有真值表如下: p q pvq 0 0 0 0 1 1 1 0 1 1 1 1
Input
问题的输入有多组,每组一行,每行有一个正整数N,表示要计算的合式公式的真值表,当N==0时结束程序。 N==1,表示求否定值。 N==2,表示求析取公式。 N==3,表示求合取公式。 N==4,表示求蕴涵公式。 N==5,表示求等价公式。
Output
输出公式的真值表。 每个公式的真值表间用6个“-”分割。
Sample Input
1
2
5
4
3
0
Sample Output
p ~p
0 1
1 0
------
p q pvq
0 0 0
0 1 1
1 0 1
1 1 1
------
p q p<->q
0 0 1
0 1 0
1 0 0
1 1 1
------
p q p->q
0 0 1
0 1 1
1 0 0
1 1 1
------
p q p^q
0 0 0
0 1 0
1 0 0
1 1 1
------
Hint
提交     返回