一个IQ题,与首页的有个百度面试题有点相同

cprime 2008-07-22 02:54:21
题目:我面前有8个球,有一个与比其他7个轻,有天平,但没有砝码。称两次找出那个球。
这个题绝对有解,也就是2次能精确找出。
...全文
328 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
linzsoft 2008-07-26
  • 打赏
  • 举报
回复
12个球,有一个与其它的不一样重,重还是轻,不知道用天平称3次,找出这个球来

我分析的答案: 有兴趣的可以写一个程序验证一下


DO 12球分组 : (1组) 4球, (2组) 4球, (3组) 4球

DO VS1 : (1组) vs (2组)

IF == //(3组) 中有不一样

DO 分(3组)4球为2组 : (3组1) 2球, (3组2) 2球

DO VS2: vs (3组1)中2球

IF == //(3组2) 中有不一样

DO 分(3组2)2球为2组 : (3组2组1) 1球, (3组2组2)1球

DO VS3: (3组2组1) vs (1组)中1球

IF == //(3组2组2) 是不一样

ELSE //(3组2组1) 是不一样

ELSE //(3组1) 中有不一样

DO 分(3组1)2球为2组 : (3组1组1) 1球, (3组1组2)1球

DO VS3: (3组1组1) vs (1组)中1球

IF == //(3组1组2) 是不一样

ELSE //(3组1组1) 是不一样

ELSE //(1组) or (2组) 中有不一样,

DO 比较轻的组标记(1组), 比较重的组标记(2组)

DO 分(1组)4球为2组 : (1组1) 3球, (1组2) 1球

DO 分(2组)4球为2组 : (2组1) 2球, (2组2) 2球

DO VS2 ((1组1) + (2组1)) vs ((3组) + (1组2))

IF == //(2组2)中有不一样并且是重

DO 分(2组2)2球为2组 : (2组2组1) 1球, (2组2组2) 1球

DO VS3 (2组2组1) vs (2组2组2)

IF > //(2组2组1)不一样

ELSE //(2组2组2)不一样

ELSE IF > //(2组1)中有不一样并且是重 or (1组2)是1轻球

DO 分(2组1)2球为2组 : (2组1组1) 1球, (2组1组2) 1球

DO VS3 (2组1组1) vs (2组1组2)

IF == //(1组2)不一样是1轻球

ELSE IF > //(2组1组1)不一样是1重球

ELSE //(2组1组2)不一样是1重球

ELSE //(1组1)中有不一样并且是轻球

DO 分(1组1)3球为3组 : (1组1组1) 1球, (1组1组2) 1球, (1组1组3) 1球

DO VS3 (1组1组1) vs (1组1组2)

IF == //(1组1组3)是1轻球

ELSE IF > //(1组1组2)是1轻球

ELSE //(1组1组1)是1轻球

FIN

linzsoft 2008-07-26
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 haisujiang 的回复:]
这种题目,《程序员面试攻略》中有详细分析与解答。一般来说n 个球则需要称log3n次
[/Quote]

log3n应该是小数,那是进位还是舍位
JaneThink 2008-07-26
  • 打赏
  • 举报
回复
这种题目,《程序员面试攻略》中有详细分析与解答。一般来说n 个球则需要称log3n次
ihsihs2008 2008-07-25
  • 打赏
  • 举报
回复
太简单了,2楼说得答案
baihacker 2008-07-25
  • 打赏
  • 举报
回复
过于简单,鉴定完毕.
e_sharp 2008-07-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xkyx_cn 的回复:]
分组:
1.先拿6个,放2边,如果一样,那么这6个是标准的,称另外2个,较轻的就是
2.如果1的前不一样,拿出重量比另一组轻的3个,从中拿出2个再称,如果一样,说明第3个是,如果不一样,轻的那个就是
[/Quote]
zzlu000 2008-07-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xkyx_cn 的回复:]
分组:
1.先拿6个,放2边,如果一样,那么这6个是标准的,称另外2个,较轻的就是
2.如果1的前不一样,拿出重量比另一组轻的3个,从中拿出2个再称,如果一样,说明第3个是,如果不一样,轻的那个就是
[/Quote]
biosheep 2008-07-23
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 oo 的回复:]
以前都9个的,怎么变8个了
[/Quote]
9个也照样能处理的!
feng4206yu 2008-07-23
  • 打赏
  • 举报
回复
LZ.....
yuanfeng_325 2008-07-23
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 liuzimao 的回复:]
2楼正解
[/Quote]
guzhilei1986 2008-07-23
  • 打赏
  • 举报
回复
3 3 2;
3和3先称,如果平了,那么轻的就在2个里面。
如果不平,找出轻的三个,在其中找两个来称。这也就用两此一定可以完成这个任务了。
SammyLan 2008-07-23
  • 打赏
  • 举报
回复
决策树(=_=)
HBFBI 2008-07-23
  • 打赏
  • 举报
回复
(1) 3 3 余3
(2) 1 1 余1
pigDeity 2008-07-23
  • 打赏
  • 举报
回复
UP2楼
eastsir 2008-07-23
  • 打赏
  • 举报
回复
我还有一个题呢,
12个球,有一个与其它的不一样重,重还是轻,不知道
用天平称3次,找出这个球来
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xkyx_cn 的回复:]
分组:
1.先拿6个,放2边,如果一样,那么这6个是标准的,称另外2个,较轻的就是
2.如果1的前不一样,拿出重量比另一组轻的3个,从中拿出2个再称,如果一样,说明第3个是,如果不一样,轻的那个就是
[/Quote]
o(∩_∩)o...
LYH1235568 2008-07-23
  • 打赏
  • 举报
回复
这种可以用倒推法考虑
Jerrylearnc 2008-07-23
  • 打赏
  • 举报
回复

2楼正解
cavalier_man 2008-07-23
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 ssdx 的回复:]
3 3 2

1 1 1
[/Quote]
正解。这个题也太简单了吧,我出个:12个球,有一个坏的,且不知道他是比正常球轻还是重,要求3次找出来,也是用没砝码的天平,我这有正确答案,我是没怎么看懂的。
jinjinke 2008-07-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 oo 的回复:]
以前都9个的,怎么变8个了
[/Quote]9个的和8个的不是类似吗?
3 3 余3
1 1 余1
加载更多回复(10)

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧