一道智力题

hyzx2000 2000-08-14 10:17:00
有12个球,颜色大小都一样,其中只有一个球的重量与其他球不同。现在给你一架没有砝码的天平,你能在三次之内将哪个重量不同的球找出来吗?
...全文
998 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
huntout 2000-08-21
  • 打赏
  • 举报
回复
to xzou:
qingrun的方法與前面我給出的方法是一致的,是正確的!︰)
這三個標準球是從C組中取出的,A組B組重量不等,C組當然是標準球!︰)
青润 2000-08-21
  • 打赏
  • 举报
回复
回复xzou,大概你没有详细读我写的答案吧?
在3中,由于A=B,则后面将A、B中所有的球均称为标准球。
在4中,C组中的四个球全部都是标准球,这四个球中难道不能拿出三个标准球么?如果你连三个标准球从何得来都不知道,那你也就根本不用来这里看这道题了!——我对你的回复表示诧异和震惊!
xzou 2000-08-21
  • 打赏
  • 举报
回复
首先说明1ingrun的方法是错的,“这时A组有4、5、6、7,B组有8和三个标准球“这句话中三个标准球从何得来?如何确定任取得三个球是合格的,我虽然暂时还想不出所有情况,但根据各位所言,只有kingwill所说的可能能做出答案。
zcw 2000-08-21
  • 打赏
  • 举报
回复
hyzx2000,你是辽工的学生么?
lwd2k 2000-08-21
  • 打赏
  • 举报
回复
上有错
应是有1个轻(或重)。
sorry.
lwd2k 2000-08-21
  • 打赏
  • 举报
回复
有一个问题
从81个球中找出1个重量不同的来
用天平称4次.
从前看的一本“趣味数学”里的。
上面几位老兄演变出这么多文字,佩服。
青润 2000-08-21
  • 打赏
  • 举报
回复
to xzou,实在不好意思,是不是我的话太重了?这里我对我也许粗鲁的用语表示深深的歉意。
to huntout,很高兴看到你的留言,不过,我觉得在北京似乎没有必要安装繁体系统,也许是我不知道你的工作性质吧。我在深圳,虽然我的公司总部在香港,但我们开发的系统也主要是英文的,很少用到繁体,一般都是到工程的最后才进行big5码的翻译,以适应需求方的要求。
实际上这道题与我高中时作的一道竞赛题很相似,而很凑巧的是两个星期以前,以为网友刚好也给我出了这道题:)……
不过,我很高兴在这里能认识这么多朋友,希望大家以后能开诚布公,多多交流,这样也可以促进大家共同发展,做好各自的工作么!:)
xzou 2000-08-21
  • 打赏
  • 举报
回复
非常抱歉,没有看清楚清qingrun的方法,要不就是我太弱了,qingrun的方法是对的(说这话时等于打了自己一个嘴巴,好不伤心),最后高喊支持qingrun,支持正义。原谅我们上网时间的不足,无法看清真理,痛哭......
huntout 2000-08-21
  • 打赏
  • 举报
回复
to qingrun:
我就在北京呀!在北京也可以裝繁體系統吧?︰)
青润 2000-08-21
  • 打赏
  • 举报
回复
好像是有些相似。:-)让我再看看。
的确,基本上是一样的。
你好,huntout老兄,请问你输入的怎么是繁体字?你住在哪里?
青润 2000-08-17
  • 打赏
  • 举报
回复
3次不仅能判断出哪一个是非标准球,还能知道非标准球的质量比标准球的大还是小,方法如下︰

1、将12个球分为3组,每组4个,编号为A、B、C;
A包括1、 2、 3、 4;
B包括5、 6、 7、 8;
C包括9、10、11、12。
2、取A,B两组,放在天平两端,有两种情況:
3、A=B:则A,B均为标准球,从C组取出三个球9、10、11与三个标准球比较:若相等,则将剩下的一个球12就是非标准球,与标准球比较就可以知道12比标准球重还是轻;若三球比标准球轻,则可从中取两球9、10比较,若9=10,则11比标准球轻,若9<10,9为非标准球,若9>10,则10位非标准球;若三球比标准球重的情况与之类似。
4、A<>B:C组为标准球,不妨设A组<B组,因为A组>B组是完全一样的。从A组取出三球1、2、3,剩余一个4(其实取那三个都可以,这里以次为例),从B组取三球5、6、7放入A组,剩余一个8,从C中取三个标准球放入B组。
这时A组有4、5、6、7,B组有8和三个标准球,天平有三种变化情况︰
A<B,说明4、8中有一个为非标准球,将4与标准球比较,若相等,则非标准球为8且比标准球重,否则非标准球为4且比标准球轻;
A=B,说明B组全部都是标准球,则非标准球在A组中拿出去的那三个(1、2、3)中,且非标准球的质量小于标准球的质量,从1、2、3中取1、2两球比较,若1<2,则1为非标准球,若1>2,则2为非标准球,若1=2,则3为非标准球;
A>B,说明非标准球比标准球重,且非标准球在从B组拿到A组的三个球(5、6、7)中,从5、6、7中取5、6两球比较,若5<6,则6为非标准球,若5>6,则5为非标准球,若5=6,则7为非标准球。
hx 2000-08-15
  • 打赏
  • 举报
回复
哈哈,还真是。。。
失礼了,失礼了,
不过不要这么凶吗,
生意不成,人情在,
交个朋友嘛



vcgreener 2000-08-15
  • 打赏
  • 举报
回复
to hx:
原题是“其中只有一个球的重量与其他球不同”,并不知其是较重还是较轻。既未仔细审题也未参考上面各位大虾的帖子,扣分!
hx 2000-08-15
  • 打赏
  • 举报
回复
六个球比六个球,哪边重,球在哪边,然后
三个球比三个球,哪边重,球在哪边,然后
在三个球中拿两个球比,哪边重,球在哪边,如果
一样重,球就是没比的,那个。
编程也是这样的思路,用一种数据结构就可以了(如两叉树)

我讲明白了吗?
给分!
谢谢!!!!!!


yuheng 2000-08-14
  • 打赏
  • 举报
回复
原题是13个球:
借softsprite朋友的叙述,略加修改如下:
将十三个球编号为1,2,3...13,分成三组:
A组:1,2,3,4
B组:5,6,7,8
C组:9,10,11,12,13

第一次称:A组和B组
if(相等)//说明不同球在C组,A,B组中为标准球(标志为X)。
{
9+X与10+11称第二次:
if(相等)//说明不同球在12,13之中,任选一个与标准球称第三次即可确认;
else if(不等)//说明不同球在9,10,11之中
{
取出9+X;
将10放到9的位置,称第三次
if(相等)//说明9是不同的球
else if(天平倾斜的方向与上次相同)//说明11是不同的球
else if(天平倾斜的方向与上次相反)//说明10是不同的球
}
}
else if(不等)
{
请参考softsprite先生的标准答案之“如果不等”部分
}
U皮特U 2000-08-14
  • 打赏
  • 举报
回复
将十二个球编号为1,2,3...12,分成三组,每组四个如下:
A组:1,2,3,4
B组:5,6,7,8
C组:9,10,11,12

注:以下称重时两组,先说的是天平左盘,后说的是天平右盘。如:1+2与3+4称,则1+2在左盘,3+4在右盘。
第一次称:A组和B组
如果相等,说明不同球在C组,A,B组中为标准球(标志为X)。
9+X与11+X称第二次:
如果相等,说明不同球在10,12之中,任选一个与标准球称第三次即可确认;
如果不等,说明不同球在9,11之中,任选一个与标准球称第三次即可确认。
如果不等,(记住此时天平的轻重方向)说明C组为标准球,将A,B组重新分组,从A组中抽出4,从B组中抽出7,8,将A组中的3与B组中的6互换,并在B组中加入一个标准球,这样A组中有:1,2,6,B组中有5,3,X。
1+2+6与5+3+X称第二次:
如果相等,说明不同球在4和7,8之中,将7+X与8+X称第三次:
如果相等,说明4是不同球。
如果不等,此时天平的轻重方向改变了说明7是不同球,否则8是不同球。
如果不等,此时天平轻重方向改变了,则说明不同球在3,6之中,任选一个与标准球称第三次即可确定。如果天平轻重方向未变,说明不同球在1,2和5之中,做法与上面相同,将1+X与2+X称第三次:
如果相等,说明5是不同球。
如果不等,此时天平的轻重方向改变了说明2是不同球,否则1是不同球。



huntout 2000-08-14
  • 打赏
  • 举报
回复
3次不僅能判斷出非標球,還能知其比標球重或輕。方法如下︰

1、將12個球分為3組,每組4個,編號為a,b,c
2、取a,b兩組,放在天平兩端,有兩種情況︰甲、一樣重,乙、不一樣重
3、甲情況︰a,b均為標準球,從c組取出三個與三個標準球比較︰若相等,則將剩下的一個球就是非標球,與標準球比較則知它比標準重還是輕;若三球比標球輕,則從中取兩球比較,若相等,則剩下的一個比標球輕,若不等,輕的為非標;若三球比標球重的情況類似。
4、乙情況︰c組為標準球,若a組<b組,從a組取出三球,剩餘一個x,從b組取三球放入a組,剩餘一個y,將三標球放入b組。這時天平的變化有三種情況︰a<b,說明x,y有一個為非標,將x與標球比較,若相等,則y球比標球重,否則x為非標且輕;a=b,說明非標球在從a組取下的三球中且比標球輕,從中取兩球比較,若相等,則剩下的一個比標球輕,若不等,輕的為非標;a>b,說明非標球在從b組拿到a組的三球中且比標球重,從中取兩球比較,若相等,則剩下的一個比標球重,若不等,重的為非標。若a組>b組,法同。
hotyei 2000-08-14
  • 打赏
  • 举报
回复
编程我不会,但我想应该这样做:将12个球分成三份,每份四个球。(第一次)将其中两份放在天平上,如果重量一样,则第三份中有重量不一样的球,否则是按称出来的重量知道是哪一份了。(第二次)知道了哪一份,再将这份四个球分为二份,每份2个球,放在天平上,便可以知道不同重量的球在哪两个球上了。然后第三次就…………啦。
蝈蝈俊 2000-08-14
  • 打赏
  • 举报
回复
这个问题好象有人问过呀。
kingwill 2000-08-14
  • 打赏
  • 举报
回复
正确答案:将12只球标号1、2、3、、。。、11、12。
第一次:分三组[1、2、3、4]、[5、6、7、8]、[9、10、11、12]。。。。。。。然后分析。
第二次:分三组[2、3、4、5]、[6、7、8、9]、[10、11、12、1]。。。。。。再分析,此时可以得出不同的球是轻还是重。
第三次:分三组[3、4、5、6]、[8、9、10、11]、[12、1、2、3]。。。。。。。分析再综合分析可知。
这是90年代MicroSoft美国公司的面试答卷的最后一问题。考综合分析能力。上面的方法是唯一适合各种情况的答案。其中分析太复杂,我实在没时间再写出来。因为,MicroSoft的标准答案文字部分为2.5页信纸。如果大家想知道的话,可查阅1996--1998年(或者更早2年)读者文摘。

16,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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