一、题目
某公司要从赵、钱、孙、李、周五名新毕业的大学生中选派一些人出国学习,选派必须满足以下条件:
(1)若赵去,则钱也去
(2)李、周两人中必有一人去
(3)钱、孙两人中去且仅去一人
(4)孙、李两人同去或同不去
(5)若周去,则赵、钱也同去
试分析该公司如何选派他们出国。
二、代码实现
ls=[0,1]
#p,q,r,s,t分别表示派赵,钱,孙.李,周出国学习
for p in ls:
for q in ls:
for r in ls:
for s in ls:
for t in ls:
A=(not p) or q #表示(1):若赵去,则钱也去
B=s or t #表示(2):李,周两人中必有一人去
C=(q and (not r)) or ((not q) and r) #表示(3):钱,孙两人中去且仅去一人
D=(r and s) or ((not r)and(not s)) #表示(4):孙,李两人同去或同不去
E=(not t) or (p and q) #表示(5):若周去,则赵,钱也同去
F=A and B and C and D and E
if F ==1:
print("派赵出国学习:{},派钱出国学习:{},派孙出国学习:{},派李出国学习:{},派周出国学习:{}".format(p,q,r,s,t))
代码部分说明:(1)中的“若赵去,则钱也去”可符号化为“p→q”,“p→q”等价为“┐p∨q”,(5)同理
运行结果:
从运行结果来看,有两种选派方案:第一种,派孙、李出国学习。第二种,派赵、钱、周出国学习。