Java算法:一个人说真话,另一个人在岛上撒谎_40道面试常见智商题(逻辑题)+参考答案...
每次面试前我都会找一些智商问题。如果我知道答案,我可以在几秒钟内解答出来。但如果我不知道,我可能一个小时都做不出来。最近,我收集了一些智商问题供大家参考。
100 个牢房里关着 100 个囚犯。牢房外面有一个空房间,房间里有一个由开关控制的灯泡。最初,灯是关闭的。狱警每次随机选择一名囚犯进入房间,但保证每个囚犯都会被选中无数次。如果在某一时刻,一名囚犯成功判断所有人都进入了房间,则可以释放所有囚犯。游戏开始前,所有囚犯可以聚在一起商讨对策,但在这之后,他们唯一可以用来交流的工具就是灯泡。他们应该设计什么样的协议呢?
首先第一天出来的人充当“计票人”,他会把灯打开(如果灯亮着,就不用动)。然后每天出来一个囚犯,如果他不是“计票人”,从来没有关过灯,而灯是亮着的,就把灯关掉。如果他是“计票人”,灯是灭的,就把灯打开(计数+1)。当然,如果灯灭了99次,就去告诉国王。
第一天是“计数器”,这是必然事件,从第二天开始,我们要完成下面的过程99次。
有新的囚犯出来,然后等待“柜台人员”出来,开灯。
新囚犯首次出来的概率是:99/100---除了计数器,其他任何出来的囚犯都符合要求,而完成这一步的平均时间为100/99天
完成上述过程后,就让“计数员”出来开灯,这种情况发生的概率是1/100,完成这一步的平均时间为100天。
第二次,新囚犯出来的概率是98/100,完成这一步的平均时间是100/98。计数器出来的概率仍然是1/100,完成这一步的平均时间仍然是100天。
...
第99次,新囚犯出来的概率是1/100(只有一个囚犯没有出来),计数器出来的概率还是1/100
然后我们把时间加起来:
100 / 99 + 100 + 100 / 98 + 100 + ... 100 / 1 + 100
= 100 * 99 + 100 * (1 / 99 + 1 / 98 + 1 / 97 + ... + 1)
= 9900 + 100 * (1 + 1 / 2 + 1 / 3 + ... 1 / 99)
1 + 1 / 2 + 1 / 3 + ... 1 / 99 是一个调和级数,大致等于 ln 99 + 1。
所以上面的值为:10417
某家有两个孩子,一个是女孩,另一个也是女孩的概率是多少?
参赛者会看到三扇关闭的门。其中一扇门后面有一辆汽车。选择后面有汽车的门将赢得汽车。另外两扇门后面有一只山羊。当参赛者选择一扇门但不打开时,主持人会打开剩余两扇门中的一扇,露出其中一只山羊。然后主持人会问参赛者是否想换到另一扇仍然关闭的门。问题是:换到另一扇门会增加参赛者赢得汽车的机会吗?
一副牌有52张,盲人被告知其中10张牌是正面朝上的,需要将52张牌分成两堆,每堆正面朝上的牌数相同,盲人可以随意翻牌,但不能看牌。
分成10和42张,所有牌都是10。
证明:第一堆(10 张牌中 x 张牌面朝上),全部翻开 = 10-x 张牌面朝上,等于第二堆牌面朝上的牌数
水是无限的,5L 和 6L 的水桶正好能装 4L 水
通用解决方法:用小桶不断地将水灌入大桶。
这里:5L桶 6L桶
0 0
五 0
0 5
5 5
4 6
有1000瓶药,其中有些药可能有毒,用老鼠喝,如果老鼠喝了有毒的药,一周内就会死亡,请问一周需要多少只老鼠才能检测出哪些药有毒?
二进制中,死亡 = 1,未死 = 0,老鼠 = 位,答案 = 10
25 匹马,5 条赛道,需要多少场比赛才能知道前三名
经典赛马问题:5+1+1=7次
有 13 块石头,其中有一块比其他的重。你需要称多少次才能找到更重的那块?
一般分为ABC三部分,分别称为A、B。若A=B,则在C处,A>B。在A处,A
2/3 立刻被淘汰。
4 4 5
1)如果 4 == 4,则将其分为 2 2 1 和 5
1.1)如果 1 中 2 == 2,则 ok 两次
1.2)如果 2 != 2,则称量 1 1,下沉的那个就是答案,三次
2)下沉堆中的 4 != 4
2.1) 称量 2 2,减去 2,然后称量 1 1。下沉的那个就是答案。重复三次。
ps 评论提醒,最好做一次,直接6 6 1,如果平衡的话,1就是答案,但是不保证能测出来
五对夫妻举行家庭聚会。每个人都可以和其他人握手,但夫妻之间从不握手。聚会结束时,A先生问每个人握手的次数(这很重要),结果是每个人握手的次数都不一样。问A先生的妻子她握手的次数
首先有一个隐含的信息,他们握手的次数分别是0,1,2,3,4,5,6,7,8。为什么呢?很明显,握手次数小于等于8,因为10个人不跟自己握手,也不跟自己的配偶握手,所以只能是10-2=8。恰巧每个人握手的次数都不一样,所以就是0-8。
其次,握手次数为 x 次和握手次数为 8-x 次的夫妻就是一个家庭,抽象地说,夫妻双方握手的次数总和刚好够覆盖另外 8 个人。
比如说握手0次的人和握手8次的人是同一个家族的人。因为握手0次的人意味着他(她)没有和其他人握手,而握手8次的人和其他家族的所有人都握过手。如果握手8次的人和握手0次的人不是同一个家族的人,那么握手8次的人就一定和握手0次的人握过手。那么握手0次的人就被握手8次的人握过一次手,这是矛盾的。
再比如,握手一次的人和握手七次的人是一家人。因为现在每个人都至少握过一次手(和握手八次的人),所以握手七次的人必须和除了第一个家庭和自己家庭之外的所有人握手,而握手一次的人不能再和其他人握手,所以他们只能是一家人。其他人也是一样。
接下来由于握手次数总和为8,所以他们一定是一对情侣,而9个人中没有两个人的握手次数相同,且0-8次握手中有4个人没有成功配对(成功的为0-8、1-7、2-6、3-5),因此只有A先生和A太太的握手次数相同,都是4次。
两个人玩一个游戏,在额头上贴数字(正整数>=1),只能看到对方的额头,看不到自己的额头,两个数字相差1,两人对话:A:我不知道 B:我也不知道 A:我知道 B:我也知道 A头上的数字是多少,B头上的数字是多少?
每个数字 n 都有两个相邻的数字 n-1 和 n+1,但 1 只有一个相邻的数字 2。
答:我不知道。我不知道自己是1号还是3号。
B:我也不知道。如果A是1,那么B一定可以确定他是2。
答:我明白了。我不是 1,而是 3。
B:我也知道。因为 A 知道自己,所以他一定从 2 推导出 3,所以他也知道自己是 2。
所以 A 是 3,B 是 2
如果你是艾滋病患者,检测后阳性的概率是99%。如果你没有携带艾滋病病毒,检测后阳性的概率只有1%。也就是说,这个设备还是比较“靠谱”的,基本可以正确判断你是否患有艾滋病。如果你现在用艾滋病试纸检测自己,检测结果显示阳性,你认为自己得了艾滋病的概率是多少?得了艾滋病的概率是万分之一。
当从人群中随机抽取一个人,用试纸进行检测时,如果检测结果呈阳性,并不代表这个人肯定生病了。他生病的可能性其实并不高,因为没有生病的人太多了。
阳性情况(假阳性+真病):9999/10000 * 1% + 1/10000 * 99%
真正生病的概率:1/10000 * 99% / (9999/10000 * 1% + 1/10000 *99%) 约 1%
后续问题:如果连续2次检测结果呈阳性,你真的生病的概率有多大?
阳性情况(假阳性+真病):9999/10000*1%*1%+1/10000*99%*99%
真正患病的概率:1/10000 * 99% * 99% / (9999/10000 * 1% * 1% + 1/10000 * 99% * 99%) 约 50%
一根不均匀的绳子从头到尾燃烧需要1个小时,现在有几根相同材质的绳子,如何用燃烧绳索的方法来计时一小时十五分钟?
1、同时点亮两端2,等1烧完再点亮另一端2,等2烧完再点亮3,等3烧完,就是1小时15分钟。
有10瓶药,每瓶10粒药,其中有一粒变质了,每粒好药重1克,每粒变质药比好药重0.1克,怎样才能用秤一次性称出变质药的重量?
1-10号分别服用1-10粒药丸,重量为x,坏药丸数为(x-55)/0.1
有两个砝码,一个称7克,一个称2克,还有一架天平,只用这些物品,怎样才能把140克盐分三次分成50克和90克呢?
步骤1:将140克盐分成两等份,每份70克。
第 2 步:在秤的一侧放置 2+7 克砝码,在另一侧放置盐,这样您分别得到 9 克和 61 克盐。
步骤 3:在秤的一边放 9 克盐和 2 克砝码,在秤的另一边放盐,这样你得到的重量是 11 克和 50 克。这样 50 和 90 就分开了。
有一列火车从洛杉矶出发直奔纽约,速度为15公里/小时,另一列火车从纽约出发直奔洛杉矶,速度为20公里/小时。如果一只鸟以30公里/小时的速度与两列火车相撞,从洛杉矶出发,撞上另一列火车后返回,并在两列火车之间来回飞行直至相遇,设洛杉矶到纽约的距离为s,问这只鸟飞了多远?
小鸟飞行的距离是 (s/(15+20))*30。时间*速度
你有两个罐子,50 颗红色弹珠和 50 颗蓝色弹珠。你随机选择一个罐子,将一颗弹珠放入其中。你如何让红色弹珠有最大的机会被选中?在你的计划中,获得红球的确切概率是多少?
罐1:红色1
罐2:红49+蓝50
红色概率 = 1/2 * 1 + 1/2 * 49 /(49+50) 约 3/4
想象一下你在镜子前,为什么镜子里的影像可以左右颠倒,却不能上下颠倒呢?
这是因为人类的眼睛是水平对称的。
病狗问题某住宅区有100户人家,每户都养了一条狗。每天傍晚,大家都在同一个地方遛狗。已知这些狗中,有一部分狗生病了。由于某种原因,狗主人不能判断自家的狗是否生病,但可以判断别的狗是否生病。现在,上级发来通知,要求居民处死这些病狗,并且不许把别人的狗认定为病狗(即只能判断自家的狗)。7天后,所有病狗全部处死。问题:一共有多少只病狗?为什么?
桌子上有100个苹果,你和另外一个人一起拿苹果,每次拿一个,每次拿的数量大于等于1小于等于5。问题:如何确保拿到最后一个苹果?
分析:如果你想确保拿到最后一个,那么你必须确保拿到第 94 个。以此类推。要拿到第 94 个,你必须确保拿到第 88 个、第 82 个、第 76 个、第 70 个……最后,你只需要确保拿到第四个。如下所示:
答案:你只要先拿4个,然后看对方拿多少,根据对方的数字,确保每轮对方和你的数字之和为6即可。其实就是确保自己拿到4个,然后还要拿到10个,16个……直到94个。
两个盲人买了两双黑袜子和两双白袜子。八双袜子的面料和尺码一模一样,每双袜子都贴有标签纸。两个盲人不小心把八双袜子弄混了。他们怎样才能各自拿回两双黑袜子和两双白袜子呢?
将每双袜子分开,每人拿一双,因为袜子不区分左右脚;
一群人在举行舞会,每个人都戴着帽子。帽子只有黑色和白色两种,至少有一顶黑色的。每个人都能看到别人帽子的颜色,但看不到自己的。主持人先让大家看别人戴的是什么帽子,然后关灯。如果有人认为自己戴了黑帽子,就扇自己耳光。第一次关灯时,没有声音。于是再次开灯,大家再看一遍。当灯关掉时,还是一片寂静。直到第三次,才听见扇耳光的声音。有多少人戴着黑帽子?
病狗问题
有三个装满水果的篮子。一个篮子里装满了苹果,第二个篮子里装满了橘子,第三个篮子里装着苹果和橘子。篮子上的标签全都错了。你的任务是拿出其中一个篮子,从里面只拿出一个水果,然后为三个篮子写上正确的标签。
通过从标有“混合”的篮子里拿一块水果,你就能知道另外两个篮子里有什么水果。
一只小猴子身边有100根香蕉,它要走50米才能到家,它每次最多能扛50根香蕉,每走一米吃一根香蕉,它最多能扛几根香蕉回家?
假设猴子从 0 走到 50,到达 A 点时,他可以直接把香蕉带回家。但是,到达 A 点时,他已经至少吃掉了 3A 根香蕉(到达 A,回到 0,再回到 A)。有一个限制,就是猴子最多可以带 50 根香蕉。所以在 A 点,猴子最多可以带 49 根香蕉。100-3A=49,所以 A=17。
0 -> 17 放下 50 - 2*17 = 16 个根
17->0 消耗
0 -> 17 还有 50 - 17 + 16 = 49
直接回家 49 - (50 - 17) = 16 个根
有多少组连续整数,它们的和为 1000?
首先1000是一个解。设连续数的平均值是x,1000一定是x的整数倍。如果连续数个数是偶数,x就不是整数,x的两倍只能是5、25或者125。因为平均值是12.5,所以用80个连续数是达不到的,125/2=62.5是可以的,也就是62、63、61、64等等。当连续数个数是奇数的时候,平均值就是整数,1000是平均值的奇数倍,1000=2×2×2×5×5×5;x可以是2、4、8、40或者200,排除它们之后,40和200都是可以的。 所以答案是4组整数,平均值分别为62.5、40、200、1000。
18楼给出了更好的解决方案,你可以参考一下
据说,有人给一家酒肆的老板娘出了一个难题:此人明知店里只有两把舀酒勺,分别能舀出7两和11两酒,却执意要老板娘卖给他2两酒。聪明的老板娘没有犹豫,用这两把勺子从酒坛里舀酒,来回倒着,竟然量出了2两酒。你能做到吗?
7 0
0 7
7 7
3 11
三 0
0 3
7 3
0 10
7 10
6 11
6 0
0 6
7 6
2 11
在9个点上画10条直线,要求每条直线至少有三个点?
五个囚犯被要求从 100 颗绿豆中挑选绿豆。挑选最多的和挑选最少的将被处决。他们无法交流,但可以感觉到剩下的绿豆数量。谁的生存几率最高?
1.他们都是非常聪明的人;2.他们的原则是先保全自己的命,然后再杀更多的人;3.100颗药丸不一定要全部分,但是要保证每个人至少都抢到一颗;4.如果有重复的,会按最大和最小来算,一并处死。
有两个人,A和B。A只说假话,从不说真话;B只说真话,从不说假话。然而,他们在回答别人的问题时,只点头或摇头,不说话。有一天,一个人面临两条路:A和B。其中一条路通向首都,另一条路通向一个小村庄。此时,A和B站在他的面前,但他不知道这个人是A还是B,也不知道“点头”是代表“是”还是“不是”。现在,他必须问一个问题来确定哪条路通向首都。那么,这个问题应该怎么问呢?
这个人只要站在A、B之间的任意一条路上,然后问其中一人:“如果我问他(A、B之间的另一人)这条路是否通向首都,他会怎么回答?”如果A、B两人都摇头,那么他们就沿着这条路往前走。如果两人都点头,那么他们就往另一条路走。
f(g(x)) = g(f(x))
A、B、C三人一起做作业,有一道很难的数学题,三人都说出了自己的答案后,A说:“我错了。”B说:“A对了。”C说:“我错了。”站在旁边的D看到三人的答案,听了三人的意见后说:“你们三个人一个答对了,一个说对了。”那么,三人中到底谁答对了呢?
假设C说的对,那么A和B都是错的。这样一来,A说的是正确的,B和C说的都是错的。这就满足了条件,所以C是对的。
50名运动员按顺序排好队,教练一声令下:“奇数运动员,出场!”剩下的运动员重新排好号码,教练再次一声令下:“奇数运动员,出场!”如此反复,直到只剩下一人。他是几号?剩下的最后一个又是谁?
当教练命令“奇数”运动员离开队伍时,教练只需下达 5 次命令,就可以知道剩下的人。此人在第五顺序前排第 2 位,第四顺序前排第 4 位,第三顺序前排第 8 位,第二顺序前排第 16 位,第一顺序前排第 32 位,即 32 名运动员。因此:第 32 号。
赵女士买了一些水果和零食去拜访朋友。不料这些水果和零食却被她的儿子们偷走了,但她不知道是哪个儿子。为此,赵女士非常生气,便问自己的四个儿子是谁偷了这些水果和零食。大儿子说:“是二儿子吃的。”二儿子说:“是四儿子偷的。”三儿子说:“反正我没偷。”四儿子说:“二儿子在撒谎。”四个儿子中只有一个说的是实话,其他三个都在撒谎。那么,这些水果和零食是谁偷的呢?
偷水果和零食的是老三,只有老四说了实话。用假设法,假设老大、老二、老三、老四都说了实话,看是否和问题矛盾,就能得出答案了。
某公司老板在考验员工思维能力的时候,出过这样的一道题:某大公司员工人数在1700到1800人之间,这些员工人数除以5,余数是3;除以7,余数是4;除以11,余数是6。那么,这家公司一共有多少名员工呢?员工小王想了一会儿,给出了答案。他是怎么算出来的呢?
分析题目给出的条件,如果员工人数增加一倍,那么除以 5 为 1,除以 7 为 1,除以 11 为 1,余数相同。假设这家公司员工人数在 3 之间,那么满足除以 5 为 1、除以 7 为 1、除以 11 条件的数字是
(x - 1)%5 == 0
(x - 1)%7 == 0
(x - 1)%11 == 0
最小公倍数 (5 , 7 , 11 ) = 35 * 11 = 385
385 * 9 = 3465
x = 3466,符合要求,因此该公司共有员工1733人。
老师让幼儿园的小朋友排好队,然后开始发水果。老师是这样发水果的:从左边第一个人开始,每2个人发一个梨;从右边第一个人开始,每4个人发一个苹果。如果发完后,有10个小朋友既得到了梨,又得到了苹果,那么这个幼儿园有多少个小朋友?
158个孩子。得到梨和苹果的孩子最少为(2+1)×(4+1)×(101)+1=136。那么从左右两端开始,假设同时得到梨和苹果的人为“1”,同时得到梨和苹果的孩子数量分别为3×5-3=12和3×5-5=10。因此,总的孩子数量为136+12+10=158。
一个陌生人路过一个小镇,天色已晚,于是去借宿一夜。来到一个十字路口,他知道这里一定有一条路通向旅馆,但是十字路口没有任何路标,只有三块小木牌。第一块木牌上写着:此路上有旅馆。第二块木牌上写着:此路上没有旅馆。第三块木牌上写着:这两块木牌一块是真的,一块是假的。相信我,我不会错的。假设你就是那个借宿的人,根据第三块木牌上的字,你觉得你能找到旅馆吗?如果能,哪条路上有旅馆?哪条路上有旅馆?
假设第一块木牌是正确的,那么第一块木牌所在的路上就有酒店,而第二条路上没有酒店,所以第二句话应该为真,共有两句真话;假设第二句话是正确的,那么第一句就是假的,第一条和第二条路上都没有酒店,所以走第三条路,而且和第三句话说的一致,所以第一句是错的,第二句是正确的。
有一位富人,为了保护主人的安全,雇了两个孪生兄弟做保镖。两兄弟尽职尽责。为了确保主人的安全,他们制定了以下行为准则:
a. 每周一、周二、周三,我的弟弟都会撒谎;
b. 每逢四、五、六天,我的弟弟就会撒一次谎;
c. 其他时候,两人都说真话。
有一天,富翁的一个朋友急着去找富翁。他知道要找到富翁,唯一的办法就是问那两个兄弟。他也知道那两个兄弟的道理,但是他不知道谁是哥哥,谁是弟弟。另外,如果他想知道答案,就必须知道今天是星期几。于是他问其中一个:昨天是谁撒谎了?结果,两个人都说:我昨天撒谎了。你能猜出今天是星期几吗?
首先,两兄弟中肯定有一个说的是真话。其次,如果两人都说的是真话,那么今天就是星期日,但这是不可能的,因为如果是星期日,那么两人都说的是真话,哥哥在说谎。假设哥哥说的是真话,那么今天一定是星期四,因为如果是星期四之前的任何一天,他今天都得再说谎一次。如果今天是星期三,那么昨天就是星期二。他昨天确实说谎了,但是今天也说谎了,与假设不符,所以今天不可能是星期一、星期二、星期三。以此类推,今天不会是星期五之后的一天,也不会是星期日。假设弟弟说的是真话,弟弟在四月五、六号说谎了,那么首先假设今天是星期一,昨天是星期日,他说谎了,与问题矛盾;今天是星期二,昨天是星期一,与问题不符;用同样的方法可以排除星期三的可能。如果今天是星期四,那么他今天就应该说谎。 他说他昨天撒谎了,这是真的,符合问题。假设今天是星期五,他应该撒谎,但他却说了实话。从“我昨天撒谎了”我们知道没有星期五、星期六或星期日。综上所述,两个结论都是星期四,所以今天是星期四。
几个对地理很感兴趣的同学聚在一起研究地图。其中一个同学在地图上标出了A、B、C、D、E的数字,并让其他同学说出他标出的地方是哪些城市。A说:B是陕西。E是甘肃;B说:B是湖北,D是山东;C说:A是山东,E是吉林;D说:C是湖北,D是吉林;E说:B是甘肃,C是陕西。五个人每人只答对了一个省份,每个数字都只有一个人答对了。你知道ABCDE是哪些省份吗?
假设A说的第一句是正确的,那么B就是陕西,E的第一句是错误的,E的第二句是正确的;C就是陕西,不符合条件。A说的第二句是正确的。那么E就是甘肃。E的第二句是正确的,C就是陕西。同理,可以推出A就是山东,B就是湖北,C就是陕西,D就是吉林,E就是甘肃。
给定:有 N 架相同的飞机停在同一个机场。每架飞机只有一个油箱,每箱燃料可以让飞机绕地球飞行半圈。注意:天空中没有加油站,飞机之间只能互相加油。如果某架飞机要安全地绕地球飞行一圈并安全返回起飞机场,至少需要多少架飞机?注意:航线中间没有机场,每架飞机都要安全返回起飞机场,不允许降落。
一共需要6架飞机,假设绕地球一圈为1,3架飞机同时顺时针飞行,在1/8的时候,油量为3/4 3/4 3/4 其中一架飞机给另外两架加满油,飞回来,此时油量为1,1。在1/4的时候,油量为3/4,3/4。加满一架飞机,另一架飞机飞回来,2/4,1。可以飞到3/4。此时油量为0
3架飞机逆时针飞行,在7/8位置3/4、3/4、3/4,一架飞机加满另外两架然后飞回1、1、0,继续飞行,在3/4位置燃油量为3/4、3/4、0,平衡2/4、2/4、2/4,你可以让前一架飞机返回
有两个圆环,直径分别为2和4。如果小圆在大圆内绕大圆旋转一圈,小圆自转多少圈?如果在大圆外旋转,小圆自转多少圈?
小圆可以旋转3圈。分析:两个圆的直径分别是2和4,所以半径分别是1和2。如果把大圆截直,那么小圆就绕着大圆旋转一圈,变成了从直线的一端移动到另一端。因为这条直线的长度就是大圆的周长,是小圆周长的两倍,所以小圆需要滚2圈。但是现在小圆要一边旋转,一边沿着大圆滚动。在小圆沿着大圆滚动1圈回到原起点的同时,小圆也旋转了1圈。如果小圆滚在大圆里面,那么它的旋转方向和滚动的方向是相反的,所以小圆自己旋转了1圈;如果小圆滚在大圆外面,那么它的旋转方向和滚动的方向是相同的,所以小圆自己旋转了3圈。
一天晚上,有四个人需要同时过一座桥。每次只能过两个人,手电筒只有一个。而且每个人的速度都不一样。A、B、C、D分别需要1、2、5、10分钟。问题:这四个人如何在17分钟内过桥?
共17分钟
步骤 1:花 2 分钟处理 A 和 B。
第2步:B花费2分钟。
步骤3:花10分钟处理C和D。
步骤 4:花 1 分钟处理 A。
第五步:A和B再花2分钟。
更多的 :
大部分答案都是手写的,不清楚或者错误的答案还请大家指出。
牛客的小广告-左神的算法课程和java项目
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权本站发表,未经许可,不得转载。