关于一道面试题的极其无聊的python算法实现
题目是这样的:
某科技公司两位科学家(甲、乙)去吃饭,坐在一家酒店靠近街道的窗口座位吃饭,在等待上菜的过程中,闲极无聊,甲向乙出了一道猜三个女儿年龄的题目。
甲:我有3个女儿,3人年龄之积等于36;
乙:猜不出来;
甲:3个女儿年龄之和等于街道上的行人数;
乙:还是无法确定;
甲:我的大女儿叫苏珊。
乙:哦,我知道了。
请问,甲的3个女儿年龄各是多少?
闲着无聊,加上这道题也有点意思,就试着用python写了一下
解题思路
首先我们要明白题目中给出的线索
1、3个女儿的年龄积为36
2、她们的年龄和已知,但是不能得到最终结果
3、有一个大女儿
就这3个条件,就可以得出我们想要的结果,实话说,开始我也是很懵逼,后来仔细想了想,还是有可能的,我们可以这样来做
1、找出积为36的所有可能,并写入列表
2、上面的列表求和,结果不唯一,则为备选答案
3、列表中最大的值唯一
怎么样,这样来看是不是清晰多了
先来看看,怎么获取所有积为36的列表,我们新建一个函数,然后循环1-36之间的所有可能3次,最后判断3个数字相加为36即写入列表,这里注意,先将列表排序,然后在写入列表的时候就可以判断去重了。
然后就是在来一个函数,主要是计算一个列表的所有元素的和
最后就是主函数了,这里主要做最后的判断,先循环列表,取出所有列表的和,如果没有重复就写入一个空列表在,如果重复了,就再次进行判断,最后一个条件,最大值是否唯一,这样就可以得出我们想要的结果了!
完整代码如下:
emmm,学习之余写写算法,高手勿喷~!欢迎大家关注我,并一起来学习交流哦!题目是这样的:
某科技公司两位科学家(甲、乙)去吃饭,坐在一家酒店靠近街道的窗口座位吃饭,在等待上菜的过程中,闲极无聊,甲向乙出了一道猜三个女儿年龄的题目。
甲:我有3个女儿,3人年龄之积等于36;
乙:猜不出来;
甲:3个女儿年龄之和等于街道上的行人数;
乙:还是无法确定;
甲:我的大女儿叫苏珊。
乙:哦,我知道了。
请问,甲的3个女儿年龄各是多少?
闲着无聊,加上这道题也有点意思,就试着用python写了一下
解题思路
首先我们要明白题目中给出的线索
1、3个女儿的年龄积为36
2、她们的年龄和已知,但是不能得到最终结果
3、有一个大女儿
就这3个条件,就可以得出我们想要的结果,实话说,开始我也是很懵逼,后来仔细想了想,还是有可能的,我们可以这样来做
1、找出积为36的所有可能,并写入列表
2、上面的列表求和,结果不唯一,则为备选答案
3、列表中最大的值唯一
怎么样,这样来看是不是清晰多了
先来看看,怎么获取所有积为36的列表,我们新建一个函数,然后循环1-36之间的所有可能3次,最后判断3个数字相加为36即写入列表,这里注意,先将列表排序,然后在写入列表的时候就可以判断去重了。
然后就是在来一个函数,主要是计算一个列表的所有元素的和
最后就是主函数了,这里主要做最后的判断,先循环列表,取出所有列表的和,如果没有重复就写入一个空列表在,如果重复了,就再次进行判断,最后一个条件,最大值是否唯一,这样就可以得出我们想要的结果了!
完整代码如下:
emmm,学习之余写写算法,高手勿喷~!欢迎大家关注我,并一起来学习交流哦!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python 科学工具使用
Python 科学工具笔记 numpy a = numpy.array([1,2,3,4]);// 创建一个numpy的数组对象 此时a.shape显示的值为(4,); 由此得出结论在一维的数组中, 数组的是列优先的 numpy.random.uniform(low, high): 产生在low和high之间的随机数 numpy.vdot(arrA, arrB): 计算arrA与arrB的数量积 numpy.max(), .min(), .sum(), .average() numpy.random.randn(): Scipy scipy.integrate.quad(funcname, low, high): funcname函数的仅仅返回一个需要求解积分的式子low: 积分下线high: 积分上限 matplotlib.pyplot import matplotlib.pyplot as plt plt.hist() plt.plot() plt.pie() plt.bar() plt.show() plt.scatter() numpy库使用 genfromtxt(filena...
- 下一篇
这个看起来有点简单!——实验吧
今天有点时间就多写几篇解题思路吧, 希望能够帮助到那些需要帮助的人, 所有的wp都是以一题一篇的形式写出 主要是为了能够让读者更好的阅读以及查找, 希望你们不要责怪!!共勉!!! 这一题做的时间比较久,但是收获颇多!!!! 永远爱你们的————新宝宝 这个看起来有点简单!分值:10 来源:西普学院 难度:易 参与人数:14133人 Get Flag:5392人 答题人数:6278人 解题通过率:86% 很明显。过年过节不送礼,送礼就送这个 格式: 解题链接:http://ctf5.shiyanbar.com/8/index.php?id=1 解题思路:看过视频之后,按照视频的教程解答可是怎么做就是不对,最后发现注入的网址不正确(QAQ),虽然浪费了很长的时间但是总的来说还是值得的; 首先:需要对这个网址进行手工检测是否存在sql注入(经典id=1'加入单引号提交,结果: 如果出现错误提示,则该网站可能就存在注入漏洞)使用sqlmap爆出当前数据库: 使用命令:python sqlmap.py -u "http://ctf5.shiyanbar.com/8/index.php?i...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Windows10,CentOS7,CentOS8安装Nodejs环境
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境