任务描述
本关任务:编写一个程序生成命题公式真值表中命题变元的各种真值指派。
相关知识
为了完成本关任务,你需要掌握:
1.什么是命题变元的真值指派
2.真值表中命题变元真值指派的排列顺序
3.命题变元真值指派的生成算法
命题变元的真值指派
设p1,p2,…,pn是出现在公式A中的所有命题变元,给p1,p2,…,pn各指定一个真值,称为对公式A的一个真值指派(也称解释)。一个命题变元有两种取值,n个命题变元共有2的n次方个真值指派。
真值表中命题变元真值指派的排列顺序
在列真值表时,命题变元按照符号的升序从左至右排列,命题变元的真值指派则按照二进制数的升序从上至下排列。
【例】命题公式:(┐p∧q) → ┐r 的真值指派列举如下:
pqr
000
001
010
011
100
101
110
111
#####命题变元真值指派的生成算法
在获取命题公式的所有命题变元后,按照字符升序顺序输出,并根据命题变元的个数n,利用n位数组存储n位二进制数,并模拟二进制逢二进一的加法规则,实现从
的变化,并输出。
【输入】
本题有多组测试数据,每组测试数据占1行,为已经按字母升序顺序排列的n(1<=n<=10)个命题变元字典集合。
####【输出】
每个测试数据首行输出命题变元字典,再输出n个命题变元的2的n次方个按二进制升序排列的真值指派,每个真值指派占一行(行末尾不带空格)。
####【输入样例】