首页 > 其他分享 >猜猜我们的职位是什么?

猜猜我们的职位是什么?

时间:2024-03-31 15:33:21浏览次数:23  
标签:什么 王小红 委员 丁金生 职位 li 李强 班长 猜猜

在离散课本里,我发现了一个特别有趣的问题,问题如下:

在某班班委成员的选举中,已知王小红、李强、丁金生三位同学被选进了班委会,该班的甲,乙,丙三名学生预言如下:
甲说:王小红为班长,李强为生活委员。
乙说:丁金生为班长,王小红为生活委员。
丙说:李强为班长,王小红为学习委员。
班委会分工名单公布后发现,甲、乙、丙三人都恰好猜对了一半,问:王小红、李强、丁金生各任何职?

哈哈,相信您看了这个问题也很感兴趣吧,下面来和我一起解决这个有趣的问题吧!

首先,我们还是利用一个列表,与以往不同的是,这次列表里装的“123”,这样可以更方便我们来解决这个问题,我们首先定义1代表班长,2代表学习委员,3代表生活委员,不然到后面我们可能都分不清谁是谁了。言归正传,我们还是使用三层循环来决解,同时利用w、li、d来分别代表‘王小红’、‘李强’、‘丁金生’,同时还是将这三个预言转化为三个真值,后面为语言正确的结果,由于结果说每个预言都是一半对一半错,所以我们在真值结果后面用‘or’而不是‘and’,例如第一个预言:王小红为班长,李强为生活委员。由此我们可得w=1或者li=3,转化编程语言就是“w==1 or li==3”,通过这样的形式来限定真值,同理其他两个预言也是这样的方法,只需要保证真值是1并且和题目符合即可,最后我们再利用三个预言的真值都是1,并且他们三个每个人都有一个职位,所以限定条件为“s1+s2+s3=3 并且 w+li+d=6”转化为编程语言就是“s1+s2+s3==3 and w+li+d==6”,这样我们便可以将这个有趣的问题解决了。代码结果如下:

ls=[1,2,3]
#1是班长,2是学习委员,3是生活委员;
#w是王小红,li是李强,d是丁金生
for w in ls:
    for li in ls:
        for d in ls:
            s1=(w==1or li==3)
            s2=(d==1or w==3)
            s3=(li==1or w==2)
            if(s1+s2+s3==3 and w+li+d==6):
                print("w:{},li:{},d:{}".format(w,li,d))
            # 1是班长,2是学习委员,3是生活委员;
            # w是王小红,li是李强,d是丁金生
            #结果为王小红是学委,李强是生活委员,丁金生是班长

由代码的运行结果可知王小红是学习委员、李强是生活委员、丁金生是班长。

希望这个有趣的问题可以让您感兴趣呢,谢谢您的观看,真诚地希望我的过程对您有帮助!

标签:什么,王小红,委员,丁金生,职位,li,李强,班长,猜猜
From: https://blog.csdn.net/2301_80570929/article/details/137181795

相关文章

  • Hashmap源码什么要对hashcode做一次高16位异或低16位的操作
    翻译一下就是:计算键的hashCode()方法,并将其高几位通过异或操作传播到低位。因为哈希表使用二的幂次方进行掩码操作,那些仅在当前掩码位之上不同的哈希集将会一直发生冲突。(已知的例子包括在小表中保存连续整数的Float键集。)因此,我们应用了一种变换来将高位的影响向下传播。在速度......
  • 为什么Java接口接收请求整型数据需要使用包装类Long
    在Java中,接口(Interface)是抽象方法的集合,它定义了对象之间交互的契约。但是,接口本身并不直接处理数据。当你说“Java接口接收请求整型数据需要使用包装类Long”,我猜你可能是指在某个方法签名中,接口定义了一个接收Long类型参数的方法,而不是基本类型int。原因主要有以下几点:可......
  • 银行虚拟公户是什么,有什么作用?
    银行虚拟公户通常是指银行提供的一种在线虚拟账户服务,也被称为虚拟企业账户或电子账户。它是一种数字化的账户,没有实体卡片或支票簿,主要用于企业或机构进行在线支付、收款和资金管理等操作。银行虚拟公户的作用包括:1.方便快捷:虚拟公户可以在线开通和管理,无需前往银行柜台办理......
  • 在项目中 .npmrc 文件写入 @lands:registry=http://{ip}:4873/ 作用是什么
    在项目中的.npmrc文件中写入一行配置如下:@lands:registry=http://{ip}:4873/这一行配置的作用是为特定的npm包前缀@lands设置了一个自定义的注册表(registry)地址。具体解释如下:包前缀(Scope):@lands是一个npm包的命名空间前缀,通常用于组织内部或团队私有的npm包。带......
  • 一个源文件,如何知道它的每一行都是什么时候签入的,为了什么目的签入的?
    在这种情况下,程序员甲需要采取一些谨慎的步骤来处理这个问题,以避免引入更多的错误或者破坏其他模块的功能。以下是一些建议:备份代码:在进行任何修改之前,务必先对整个项目或者相关文件进行备份,以防止意外情况发生。理解代码:仔细研究那行有问题的代码,了解它是什么时候被添加进......
  • Web墨卡托投影介绍,Web墨卡托投影和普通墨卡托投影有什么区别?EPSG:3857坐标系和EPSG:43
    Web墨卡托投影和普通墨卡托投影在本质上是相同的,但它们在坐标范围使用单位和应用领域上存在一些区别:坐标范围:普通墨卡托投影的坐标范围通常在整个地球表面上,由于使用浮点数表示,所以不限制其范围。Web墨卡托投影的坐标范围通常被限制在一个固定的范围内,以适应Web地图的显......
  • 在Linux中,什么是文件权限?它们是如何工作的?
    在Linux中,文件权限是一套用于控制用户和用户组对文件或目录访问行为的权限系统。这些权限确保了文件系统的安全性,防止未经授权的访问、修改或执行文件。Linux文件权限的核心特点包括:三种基本权限:读权限(r):允许用户读取文件内容。对于目录,读权限允许用户列出目录中的文件和子目......
  • 在Linux中,什么是管道?它是如何工作的?
    在Linux中,管道(Pipeline)是一种将多个命令连接起来的技术,使得一个命令的输出可以直接作为另一个命令的输入。这种机制通过管道符号|来实现,它极大地提高了命令行操作的效率和灵活性。1.管道的概念管道的概念源自于UNIX系统,它允许用户将简单的命令组合成强大的、复杂的命令序列。......
  • 先进电气技术 —— 储能系统技术原理是什么?有哪些技术发展点?
    一、储能系统基本原理储能系统是一种能够存储电能并在需要时释放电能的技术装置。在电力系统、可再生能源利用、电力供需调节等领域,储能系统扮演着至关重要的角色。其工作原理主要包括以下几个步骤:1.**充电阶段**:  -当电力供应充足或电价较低时,储能系统通过双向变流器(B......
  • 为什么要使用MQ?
    我们在学习一个新的技术栈的时候,一定要多思考,为什么要用这个东西,这个东西帮助我们解决了什么问题,他的好处是什么,这样有利于我们加深对这个东西的理解。下面开始今天的正文,我们为什么要使用Mq呢?他到底是一个什么东西呢?一、什么是MQ?        MQ(messagequeue),从字面......