甲乙丙丁,到底是谁做的?

在离散数学的课后作业里:某件事是甲、乙、丙、丁4人中某一个人干的,询问4人后回答如下:(1)甲说是丙干的;

(2)乙说我没干;

(3)丙说甲讲的不符合事实;

(4)丁说是甲干的。

若其中3人说的是对的、1人说的不对,问是谁干的?

首先,我们要对甲乙丙丁四个人的言论进行进一步剖析。假设j:甲干的;y:乙干的;b:丙干的;d:丁干的。

对于这个问题我们还是通过真值表的方式来找到最终的答案,我们可以利用四层循环,然后还是对四个人的话进行分析,分析结果为s1、s2、s3、s4;然后判断他们的真值来进行条件的限制,以达到符合题目的要求。

代码如下:

ls=[0,1]
for j in ls:
    for y in ls:
        for b in ls:
            for d in ls:
                s1=(b==1)
                s2=(y==0)
                s3=(b==0)
                s4=(j==1)

                if(s1+s2+s3+s4==3and j+y+b+d==1):
                    print("甲:{},乙:{},丙:{},丁:{}".format(j,y,b,d))
                    #1代表是他干的,0代表不是他干的
                    #结果说明是甲干的

结果如下:

希望这个有趣的问题可以对您有用,感谢您的观看!

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值