最近班级群里一同学出了个推理题,感觉很有意思,用python试着解答了下,也不知道对不对,重在思路和试一下用python来解题,水平有限,过程凌乱,代码质量请勿喷,只是求个结果,有心思的筒子们可以重写下~
一、题目
有两个不同的一位数的乘积不小于10,小红拿了这两个数乘积的十位数字,小权拿到了这两个数乘积的个位数字,小严就获得了两个数的和,三人都没有看其他人的卡片,小红、小严的对话如下:
小红说:“我不知道小权手中的卡片是几”“但小权也一定不知道我手中卡片上的数是几”
小严说:“你们两手上的卡片我是一个都不知道”
小红说:“那我知道你们手上的卡片了”
那么这两个数字是啥,它们的乘积是多少?
二、我的解答
思考了下,根据对话,可以按以下步骤解答:
1、先排除掉小红拿到的唯一乘积的十位数,小权拿到的唯一的乘积个位数【因为两个互相不知道对方的数】
2、排除唯一的和数,因为唯一的和可以确定两个数,必然知道乘积
3、假如和数小红是知道的,先排除小红知道和后都无法确定小权的数的情况。获得小红知道和后能确定小权的情况。
4、假如连和都不知道,小红要确定小权的数,那就是在不同的和中,获得的小权的数也要有唯一性
确定思路后,就按这个写了个python ,代码如下:
三、运行结果
结果为【4,5】,积为20,我也不知道是否正确。。。
您可以给出您的解答过程和答案吗?
我的邮箱是sthsun@126.com