离散数学题目——王教授是哪里人

题目描述:在某次研讨会中间休息时间, 3名与会者根据王教授的口音对他是哪个省市的人判断如下:
甲: 王教授不是苏州人, 是上海人

乙: 王教授不是上海人, 是苏州人

丙: 王教授既不是上海人, 也不是杭州人

听完这三个人的判断后, 王教授笑着说, 你们3人中有一人说的全对, 有一人说对了一半, 另一人说得全不对, 试用逻辑演算分析王教授到底是哪里人.

代码如下:

#王教授是哪里人 p:王教授是苏州人 q:王教授是上海人 r:王教授是杭州人 0表示不是 1表示是
for p in range(0,2):
    for q in range(0,2):
        for r in range(0,2):
            B1 = (p == 0 and q == 1)                                 #甲全对
            B2 = ((p == 0 and q == 0) or (p == 1 and q == 1))        #甲对一半
            B3 = (p == 1 and q == 0)                                 #甲全错
            C1 = (p == 1 and q == 0)                                 #乙全对
            C2 = ((p == 1 and q == 1) or (p == 0 and q == 0))        #乙对一半
            C3 = (p == 0 and q == 1)                                 #乙全错
            D1 = (q == 0 and r == 0)                                 #丙全对
            D2 = ((q== 0 and r == 1) or (q == 1 and r == 0))         #丙对一半
            D3 = (q == 1 and r == 1)                                 #丙全错
            if ((B1 and C2 and D3 == True) or (B1 and C3 and D2 == True) or (B2 and C1 and D3 == True) or \
                (B2 and C3 and D1 == True) or (B3 and C1 and D2 == True) or B3 and C2 and D1 == True):
                print("p:{} q:{} r:{}".format(p,q,r))

运行如下:

p:0 q:1 r:0
p:1 q:0 r:1

因为王教授不能同时为苏州人或杭州人, 故第二种情况排除, 所以甲说得全对, 丙说对了一半, 乙说得全错, 王教授是上海人

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_我想睡觉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值