黑马程序员技术交流社区
标题:
JAVA智力题——(四)
[打印本页]
作者:
Liveei
时间:
2015-8-28 00:26
标题:
JAVA智力题——(四)
本帖最后由 Liveei 于 2015-8-28 00:43 编辑
31、种子被摔破问题
一种杯子,若在第N层被摔破,则在任何比N高的楼层均会破,若在第M层不破,则在任何比M低的楼层均会破,给你两个这样的杯子,让你在100层高的楼层中测试,要求用最少的测试次数找出恰巧会使杯子破碎的楼层。
解答:
32、两个人猜数问题
教授选出两个从2到9的数,把它们的和告诉学生甲,把它们的积告诉学生乙,让他们轮流猜这两个数, 甲说:“我猜不出”, 乙说:“我猜不出”, 甲说:“我猜到了”, 乙说:“我也猜到了”, 问这两个数是多少?
答:3和4。设两个数为n1,n2,n1> =n2,甲听到的数为n=n1 n2,乙听到的数为m=n1*n2,证明n1=3,n2=4是唯一解。证明:要证以上命题为真,不妨先证n=7
1)必要性:
i) n> 5 是显然的,因为n <4不可能,n=4或者n=5甲都不可能回答不知道
ii) n> 6 因为如果n=6的话,那么甲虽然不知道(不确定2 4还是3 3)但是无论是2,4还是3,3乙都不可能说不知道(m=8或者m=9的话乙说不知道是没有道理的)
iii) n <8 因为如果n> =8的话,就可以将n分解成 n=4 x 和 n=6 (x-2),那么m可以是4x也可以是6(x-2)而4x=6(x-2)的必要条件是x=6即n=10,那样n又可以分解成8 2,所以总之当n> =8时,n至少可以分解成两种不同的合数之和,这样乙说不知道的时候,甲就没有理由马上说知道。以上证明了必要性。
2)充分性
当n=7时,n可以分解成2 5或3 4
显然2 5不符合题意,舍去,容易判断出3 4符合题意,m=12,证毕
于是得到n=7 m=12 n1=3 n2=4是唯一解。
33、猴子吃香蕉问题
一个小猴子边上有100 根香蕉,它要走过50 米才能到家,每次它最多搬50 根香蕉,每走1 米就要吃掉一根,请问它最多能把多少根香蕉搬到家里。
解答:设 小猴从0 走到50, 到A 点时候他可以直接抱香蕉回家了, 可是到A 点时候他至少消耗了3A 的香蕉( 到A, 回0, 到A), 一个限制就是小猴只能抱50 只香蕉, 那么在A 点小猴最多49 只香蕉.100-3A=49, 所以A=17. 这样折腾完到家的时候香蕉剩100-3A-(50-A)=50-2A=16.
34、拿硬币问题(与问题4类似)
16 个硬币,A 和B 轮流拿走一些,每次拿走的个数只能是1 ,2 ,4 中的一个数。谁最后拿硬币谁输。问:A 或B 有无策略保证自己赢?
博弈类问题,分清两概念
必胜态:有一种方法导致下一状态为必败态
必败态:每一种方法导致下一状态为必胜态
解决办法:递推
1: 必败
2: 必胜:取1 ,导致变为1 状态( 必败)
3: 必胜:取2-> 必败态
4: 必败:取1 或2 或4 均导致必败态或直接失败
以些类推知16 为必败态,即后手必胜
剩2 个时, 取1 个必胜;
剩3 个时, 取2 个必胜;
剩4 个时, 如果对手足够聪明则必败;
剩5 个时, 去1 个必胜...
记作 2(1) 3(2) 4(x) 5(1) 6(2) 7(x) 8(1) ...
从中找出规律:
当剩余个数K=3N-2,N 为自然数时, 只要对手足够聪明则必败.
当K=3N-1 时, 有必胜策略: 取1 个;
当K=3N 时, 有必胜策略: 取2 个;
所以, 当16 个时, 后取者有必胜策略.
35、平均分问题(与问题5类似)
有三个酒杯,其中两个大酒杯每个可以装8两酒,一个可以装3两酒。现在两个大酒杯都装满了酒,只用这三个杯子怎么把酒平均的分给4个人喝?
解答:用 一个三位数表示三个杯,880 ,前两个为8 升的杯最后一个3 升。开始:880_853A 喝掉3 升变为:850_823_B 喝掉2 升为:803_830_533_560_263_281A 喝掉1 升(A 已经喝4 升完毕)为:280_253_550_523_820_802_703_730_433_460_163_181CD 各喝一升为:080_053_350_323CD 各喝3 升B 喝2 升,分水结束,ABCD 四人各喝4 升。
36、爱因斯坦提出的问题
爱因斯坦出了一道题,他说世界上有90%的人回答不出,看看你是否属于10%。
内容:
1、有5栋5种颜色的房子
2、每一位房子的主人国籍都不同
3、这五个人每人只喝一个牌子的饮料,只抽一个牌子的香烟,只养一种宠物
4、没有人有相同的宠物,抽相同牌子的烟,喝相同牌子的饮料
已知条件:
1、英国人住在红房子里
2、瑞典人养了一条狗
3、丹麦人喝茶
4、绿房子在白房子的左边
5、绿房子主人喝咖啡
6、抽PALL MALL 烟的人养了一只鸟
7、黄房子主人抽DUNHILL烟
8、住在中间房子的人喝牛奶
9、挪威人住在第一间房子
10、抽混合烟的人住在养猫人的旁边
11、养马人住在抽DUNHILL烟人的旁边
12、抽BLUE MASTER烟的人喝啤酒
13、德国人抽PRINCE烟
14、挪威人住在蓝房子旁边
15、抽混合烟的人的邻居喝矿泉水
问题:谁养鱼?
解答过程:(这种题,耐心想多几次比看答案来得简单些)
已知条件:
首先这9,1,2,3,13可以先填,只是卡片排列顺序还不能确定
9、挪威人住在第一间房子
1、英国人住在红房子里
2、瑞典人养了一条狗
3、丹麦人喝茶
13、德国人抽PRINCE烟
14、挪威人住在蓝房子旁边
4、绿房子在白房子的左边
这里得出房子颜色排列:挪威色->蓝色->绿色->白色->红色 或 挪威色->蓝色->红色->绿色->白色(
前提左边表示第一个房子)
这里推理出错了,绿色在白色左边并不表示相邻的左边
所以顺序为:挪威色-蓝色-绿色-白色-红色或挪威色-蓝色-绿色-红色-白色或挪威色-蓝色-红色-绿
色-白色
7、黄房子主人抽DUNHILL烟
得出挪威人住的是黄色房子,并且挪威人抽DUNHILL烟
所以顺序为:黄色-蓝色-绿色-白色-红色或黄色-蓝色-绿色-红色-白色或黄色-蓝色-红色-绿色-白色
并且有:黄色挪威DUNHILL
11、养马人住在抽DUNHILL烟人的旁边
得出养马人住在挪威人右边,因为假设了挪威的第一间房子是在最左边
得出:黄色挪威DUNHILL 蓝色马 … 红色英国
5、绿房子主人喝咖啡
8、住在中间房子的人喝牛奶
得出应该是红色房子在中间,并且有英国人喝牛奶
颜色排列:黄色->蓝色->红色->绿色->白色
可以得出 黄色挪威DUNHILL,蓝色养马,红色英国牛奶,绿色喝咖啡,白色在最右边,顺序已经固定
好
10、抽混合烟的人住在养猫人的旁边
15、抽混合烟的人的邻居喝矿泉水
由于第一间(黄挪威)以及中间(红英牛奶)固定,所以抽混合烟的人在最后(最右边)
那么得:绿色咖啡猫 白色混合烟
由于红色英国喝牛奶 绿色喝咖啡,所以白色不可能抽混合烟,而黄色挪威抽DUNHILL,所以是蓝色养
马抽混合烟
得到:黄色挪威矿泉水DUNHILL,蓝色马混合烟,红色英国牛奶,绿色咖啡,白色
并且:黄色挪威矿泉水猫DUNHILL 或 红色英国牛奶猫
12、抽BLUE MASTER烟的人喝啤酒
排除易得:这个就是白色啤酒BLUE MASTER
得到:黄色挪威矿泉水DUNHILL,蓝色马混合烟,红色英国牛奶,绿色咖啡,白色啤酒BLUE MASTER
根据丹麦茶
得到:黄色挪威矿泉水DUNHILL,蓝色丹麦茶马混合烟,红色英国牛奶,绿色咖啡,白色啤酒BLUE
MASTER
根据德国PRINCE
得到:绿色德国咖啡PRINCE
得到:黄色挪威矿泉水DUNHILL,蓝色丹麦茶马混合烟,红色英国牛奶,绿色德国咖啡PRINCE,白色
啤酒BLUE MASTER
根据瑞典人养狗
得到:白色瑞典啤酒狗BLUE MASETER
得到:黄色挪威矿泉水DUNHILL,蓝色丹麦茶马混合烟,红色英国牛奶,绿色德国咖啡PRINCE,白色
瑞典啤酒狗BLUE MASTER
6、抽PALL MALL 烟的人养了一只鸟
得到:红色英国牛奶鸟PALLMALL
得到:黄色挪威矿泉水DUNHILL,蓝色丹麦茶马混合烟,红色英国牛奶鸟PALLMALL,绿色德国咖啡
PRINCE,白色瑞典啤酒狗BLUE MASTER
由前面10,15得到的猫的可能性
得到:黄色挪威矿泉水猫DUNHILL,蓝色丹麦茶马混合烟,红色英国牛奶鸟PALLMALL,绿色德国咖啡
PRINCE,白色瑞典啤酒狗BLUE MASTER
最后得到:鱼是绿色德国咖啡鱼PRINCE
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2