逻辑随笔1

1.“飞机加油”问题

一架飞机在满油的情况下可以绕地球飞0.5圈,假设飞机与飞机之间可以互相加油,请问在确保所有飞机够油飞回起点的情况下,最少需要几架飞机才可以让其中一架飞机成功绕地球飞行一圈?

解析:

A,B,C三架飞机同时起飞,飞到一圈的1/8处,各自消耗了1/4的油,此时C还剩3/4的油,将1/4分给A,1/4分给B,剩下的1/4供自己安全返航,则A和B变为满油状态;当飞到一圈的2/8处,A和B又各自消耗了1/4的油,此时B还剩3/4的油,将1/4分给A,剩下的2/4供自己安全返航,则A再次变为满油状态,可以支持自己飞到6/8圈处。当A飞行至1/2圈时,BC共同反向出航,B在1/8圈后返航,将C加满油,C继续飞行1/8圈后至3/4圈处遇到A,C给A加1/8圈的油共同返航;于此同时B重新出发,飞行至7/8圈处恰遇AC,分别给AC加入1/8圈的油后,三架飞机共同返航。最后A成功绕地球一圈。本题的结题关键是地球是圆的而且飞机可以重复使用。

2、“4人3桶平分16斤水”问题

题目:

有三个桶,两个大桶分别可装8斤的水,一个小桶可装3斤的水。现在有2个8斤的桶全部装满了水,3斤的小桶空着。

要求:如何把这16斤水平均分给4个人,每人4斤水。注意:不能使用其他任何工具,4人自备容器,分出去的水不可再要回来.

参考答案:

3个桶最初的装水状态为880,首先将一个大桶的水倒入小桶中,倒满,表示为853(第二个大桶减少3斤水,小桶增加3斤水),则过程如下:

1). 880——853:将3斤给第一个人,变为850(此时4人分别有水3-0-0-0)

2). 850——823:将2斤给第二个人,变为803(此时4人分别有水3-2-0-0)

3). 803——830——533——560——263——281:将1斤给第一个人,变为280(此时4人分别有水4-2-0-0)

4). 280——253——703——730——433——460——163:将1斤给第3个人,变为063(此时4人分别有水4-2-1-0)

5). 063——081:将1斤给第4个人,变为080(此时4人分别有水4-2-1-1)

6). 080——053——350——323:将2斤给第2个人,将2个3斤分别给第3/4个人(此时4人分别有水4-4-4-4)

3.腾讯面试题:给40亿个不重复的unsigned int的数,没排序,然后再给一个数,如何快速间断这个数是否在那40亿个数中?
解析:开512M的空间,刚好2^32个bit,每个bit对应一个数,一开始全为0;然后读这40亿个数,读一个就把对应的bit置为1,然后直接查对应的bit是0还是1,就好了。
 
4.“称石头”问题
给你8颗小石头和一架天平,其中7颗石头重量一样,另外一个比这7颗重,请问在最快的情况下,最少称重几次才能把这颗较重的石头找出来?

解析:

首先任取8个石头中的6个进行称重,天平两边都是3个石头,如果重量相等,再称剩下的2个石头;

如果不等,取较重一边的任意2个称重,如果相等则剩下一个是重的,如果不相等则较重的那个就是。

时间: 2024-10-27 11:16:30

逻辑随笔1的相关文章

开发随笔:界面、推荐逻辑优化(文末小彩蛋)

开发随笔,小结项目开发中的得与失,项目优化工作,用到了以下几个知识点,在这里和大家分享一下: 进展-界面.推荐逻辑优化: layout_margin.layout_height微调,对界面精雕细琢: android:layout_margin="2dp" 双指针优化,不能直接赋值,否则游标联动,大坑: Cursor cursor = db.query("Room", null, null, null, null, null, "name,time"

业务逻辑漏洞挖掘随笔【身份认证篇】

在厂家的时候出来跟客户聊安全,老是喜欢把漏洞分为"传统漏洞"."业务逻辑漏洞".现在听到这词还蛮新鲜的.最近要让学弟们去帮忙挖漏洞,结合自己的测试经验顺便给他们归纳了下业务逻辑挖掘,于是有了本文.... 纯科普,大牛请无视 暴力破解: 实习的时候帮客户检查系统,当实在没找到漏洞的时候最爱挑这个毛病,"该系统可被暴力破解".因为内网中这问题比比皆是,暴力破解确实是个敲门砖. 01:没有验证码 可选工具:burpsuite 当然了,也可以选择同时爆破

业务逻辑漏洞挖掘随笔【信息一致性安全篇】

继续~ 1 手机号篡改 场景一:抓包修改手机号码参数为其他号码尝试,例如在办理查询页面,输入自己的号码然后抓包,修改手机号码参数为其他人号码,查看是否能查询其他人的业务. 场景二:在测试一个业务的时,第一步输入别人的邮箱验证该邮箱是否存在.第二步输入手机号的时候随便填一个手机号,抓包修改成自己的.结果短信验证码就发到自己的手机上了. 2 邮箱或者用户篡改 场景一:抓包修改用户或者邮箱参数为其他用户或者邮箱,类似上文说的手机号篡改. 3 订单id,编号等篡改 场景一:查看自己的订单id,然后修改i

C#博客随笔之六:数据绑定

这一篇随笔记录的是在完成程序中遇到的一些情况 首先要讲的是MVVM 所谓MVVM就是Model,View,ViewModel 下面是MVVM的优点(引用自百度百科): MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大优点1. 低耦合.视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变.2. 可重用性.你可以把一些视图

Abby's 学习php5随笔

2017.6.27 Abby's cakephp2 学习之旅 下载了XAMPP集成开发环境,然后配置其数据库,参考学习教程, 1.建立表单. 配置完信息如下,Cache Apache默认在windows下是system用户,所以权限最高,但xampp集成环境中的apache确是administor 如何更改apache用户为system 静默开发.(一种开发方法,番茄ToDo中的学霸模式有些相似) 如何设置.ctp的显示 http://cakephp2.local/posts/index怎么就可

web前端学习随笔

好好算下来,学习web前端已有半个月了,这半个月来主要学习的是HTML和CSS部分,期间有困惑,也有解决困惑时的快感,所以想把这段时间感受到的一些东西记下来,因为内容比较杂,所以干脆叫随笔吧.这里面不会说前端的相关基础知识,只是说一些自己对前端的一些认识. html是用来控制页面结构的我曾经对这句话有过疑问,觉得html应该是控制页面内容的,为什么要说是控制页面结构的呢?在查看京东首页的代码时,我恍然大悟,html确实是定义页面内容的,但同时它也要控制页面的结构.举例来说,京东商品分类的div包

MongoDB随笔基本操作

一.MongoDB数据结构与关系型数据库比较 逻辑结构对比MongoDB              关系型数据库文档(document)        行(row)集合(collection)         表(table)数据库(database)    数据库(database) 二.mongod 参数说明最简单的,通过执行 mongod 即可以启动 MongoDB 数据库服务,mongod 支持很多的参数,但都有默认值,其中最重要的是需要指定数据文件路径,或者确保默认的/data/db

LVM逻辑卷基本概念及LVM的工作原理

这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一.传统的磁盘管理 其实在Linux操作系统中,我们的磁盘管理机制和windows上的差不多,绝大多数都是使用MBR(Master Boot Recorder)都是通过先对一个硬盘进行分区,然后再将该分区进行文件系统的格式化,在Linux系统中如果要使用该分区就将其挂载上去即可,windows的话其实底层也就是自动将所有的分区挂载好,然后我们就可以对该分区进行使用了. 但是这种传统的磁盘管理经常会带来很

逻辑,逻辑,逻辑

我写的这些随笔,大都按照每天的时间顺序. 早上,仍然是八点钟起床,被闹钟叫起,但很困.我认为这不正常,睡眠充足,早起不该如此困. 上午的工作时间,按照昨天计划的,重画所有的图片,用visio画图这么久,即使是用基本的矩形,加直线,也能画出很多图.但今天好像到了一瓶颈,突然觉得用visio画图是一件无聊的事情.以往,我会去寻求一些更有挑战更难的事情来做,或者去使用新的画图软件.但我明白,我仍然处于初级水平,这件事情需要坚持不断改善. 中午的时候,作了一次剁手的尝试,白白花掉了30元,是想安装一个手