java工程师2道智力题没解答出,希望得到哪位仁兄解决下不甚感谢

java码农_NO1 2007-08-20 05:22:30
1.12个乒乓球有一个乒乓球的重量异常(不知道是轻或重)给一个不带砝码的天平,只准称3次找出这个异常的乒乓球?

2.有8个球,有一个球是重100g,有一个球轻100g,期于的球都是500g,给一个没有刻度不带砝码的天平,只可以称4次一定要找出这2个球,怎么称?
...全文
464 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
java码农_NO1 2007-08-22
  • 打赏
  • 举报
回复
你门说的都不符合要求
不管在什么情况下1题只称3次,2题的只称4次。
你们的回答都有些情况没考虑的到。
tyjyhu 2007-08-22
  • 打赏
  • 举报
回复
能做第二题
分三组 A1,A2,A3 B1,B2,B3 C1,C2
if(A > B)
//if 400 in B 则 600 in C || 600 in A, 400 in B or C
if(C1>C2) //C1 最小500
if(C1>A1) //C1 同A队中任意一个比较C1==600,C2==400
elseif(C1==A1) //C2==400;
if(A2>A3) // A2==600;
else //A3 ==600;
elseif(C1<A1) //A1==600,C1==400;
elseif(C1==C2)
if(A1>A2) //A1==600;
elseif(A1==A2) //A3==600;
elseif(A1<A2) //A2==600;
if(B1>B2) //B2==400;
elseif(B1==B2) //B3==400;
elseif(B1<B2) //B1==400;
elseif(C1<C2)
相似并列中的if
elseif(A < B)
相似并列中的if

elseif(A == B) //两个球在同一组
if(A1>A2)
if(A1>A3) // 三个球内比 一定可以得到 大和小
elseif(A1<A3)
elseif(A1==A2)
if(B1>B2)
elseif(B1==B2)
if(C1>C2)
//C1==600;C2==400;
elseif(C1<C2)
//C1==400;C2==600;
elseif(C1==C2)
//error
elseif(B1<B2)
elseif(A1<A2)
dillonhows 2007-08-21
  • 打赏
  • 举报
回复
不知道我想得对不对......
谁帮我验证一下?
zjh0205 2007-08-21
  • 打赏
  • 举报
回复
关于第一题:
http://community.csdn.net/Expert/TopicView3.asp?id=5681952
ABCatai 2007-08-21
  • 打赏
  • 举报
回复
有异常的乒乓球可能是轻的,也可能是重的
将乒乓球分别标上1,2,....12
第一次:
取1,2,3,4和5,6,7,8分别放在天平两边
可能出现的情况:
(1)天平平衡
这样的话有异常的球在9,10,11,12中,
接着第二次,取1,2,3(正常的球),和9,10,11分别放在天平两边,如果天平相等,那么12为异常的;如果不平衡,9,10,11中有球为异常的,这时我们也可以看出异常球是重还是轻(因为通过天平可以比较出9,10,11比正常球重还是轻),如果异常球重,拿出9, 10进行比较,如果不平衡,哪个重那个异常,如果相等,则12为异常;反之异常球轻的话亦然。
(2)天平不平衡,
我们可以设1,2,3,4这边重,5,6,7,8这边轻,那么9,10,11,12正常
接着第二次,拿1,2,3,5,6(左边)和9,10,11,12,4(右边)进行比较
如果右边重,比较5,6,哪个轻那个异常,如果相等,则4为异常
如果左边重,比较1,2,哪个轻那个异常,如果相等,则3异常
如果左右相等,则异常球在7,8中,比较7,8,轻的那个异常
ABCatai 2007-08-21
  • 打赏
  • 举报
回复
up
聪头 2007-08-21
  • 打赏
  • 举报
回复
(1)乒乓球是分成3组,每组4个。三次能分出来
hongweitt 2007-08-21
  • 打赏
  • 举报
回复
乒乓球分成3堆 用两次可以确定异常那堆并能确定它是重还是轻
最后一次 将正常的那堆 和异常那堆称上 两边同时往下拿
java码农_NO1 2007-08-21
  • 打赏
  • 举报
回复
晕忽忽~~~~~~~~~没有一个符合要求的!!!
wwwtom 2007-08-21
  • 打赏
  • 举报
回复
唉!这能看出什么,都是一样的题目,看过就会,没看过就不会
dillonhows 2007-08-21
  • 打赏
  • 举报
回复
PS:1.1平衡情况中的第2-4次要都称,才能分析出哪个是轻、重球,因为他们在同一组,不会出现重、轻和重、标准那种混淆不清的情况,比较好分析。
dillonhows 2007-08-21
  • 打赏
  • 举报
回复
第一个问题:想的和bao110908的方法一样。
第二个问题比较难了。。。不知能表达清楚不。
第1次:分两组,每边4个。分两种情况:
1.1平衡(说明轻球和重球在同一组,也表明另一组4个是标准球)
 第2次:从原组中每组拿3个。
第3次:从原组中每组拿2个。
第4次:从原组中每组拿1个。
判断方法为:本次若平衡:说明轻球和重球还在同一组,继续找。
本次若不平衡:找到轻球或重球(上次剩下的1个就是轻球或重球)。
1.2不平衡(说明轻球和重球在不同组,为球编号,为方便论述假设为A重,B轻,那么编号为A1、A2、A3、A4;B1、B2、B3、B4)
 第2次:A1、A2、B1、B2一组;A3、A4、B3、B4一组
 2.1平衡:A1、A2、B1、B2中既有重球也有轻球。
第3次:称A1、A2。找重球。
第4次:称B1、B2。找轻球。
2.2不平衡两种情况:
2.2.1:A1、A2、B1、B2重,那么重球在A1、A2中,轻球在B3、B4;
第3次:称A1、A2。找重球。
第4次:称B3、B4。找轻球。
2.2.2:A1、A2、B1、B2轻,那么重球在A3、A4中,轻球在B1、B2;
第3次:称A3、A4。找重球。
第4次:称B1、B2。找轻球。
不知道对不对,都写蒙了,写的时间比想的时间都长。这是哪公司的智力题啊,我还在找工作呢,不知道我能去不。现在毕业找工作ing.....
yufanzy909 2007-08-21
  • 打赏
  • 举报
回复
2题
分成2组每组4个
1天平两边各方一个球,(如果不平衡就可以找出一个了,平衡继续执行)
2然后再在两边各加一个球,(如果不平衡就可以找出一个了,平衡继续执行)
java码农_NO1 2007-08-21
  • 打赏
  • 举报
回复
各位老大2题呢?
ABCatai 2007-08-21
  • 打赏
  • 举报
回复
bug:
(1)天平平衡
这段中最后“如果相等,则12为异常;反之异常球轻的话亦然。”中“12”应改为“11”

--------------------
靠,叽员歪歪说了那么多
thirtysix1207 2007-08-20
  • 打赏
  • 举报
回复
回复第二题

第一次, 取四个
if(不平衡){
轻的两个异常
第二次, 取刚才重的2个从剩余4个取1个与之比较,轻的3个异常(此时得到2堆异常)
第三次, 取第一次的1个取第二次的1个,找到1个异常
第四次, 把第二次剩余2个比较,如果平衡则第三次重的异常
}
else
{
剩余4个异常
第二次,取剩余4个中的2个,如果平衡,则剩余的2个异常,否则轻的异常
第三次,取第二次重的一个,取剩余2个中的1个,如果平衡,则剩下的异常,否则轻的异常
}
南南北北 2007-08-20
  • 打赏
  • 举报
回复
我写的乒乓球那个不对。大家想想吧,下班回家了。
  • 打赏
  • 举报
回复
第一题:

第一次:随机取两对四个球,称如果相等,则在第三堆中,若轻则在这堆中;
第二次,把四个球分两堆,找出轻的那两个。
第三次,再称找出来的两个,轻的则为次品。
南南北北 2007-08-20
  • 打赏
  • 举报
回复
每次放一边放一个球,当天平偏向一边的时候,记住这两个球AB(A轻||B重)||(A轻&&B重),每次一边加一个(A这边放的叫C,B这边放的叫D),当天平变平了,说明A轻C重。当天平变的更偏了,说明C轻B重。
南南北北 2007-08-20
  • 打赏
  • 举报
回复
第一次:一边3个球。随便拿,可以找出包含异常的6个球.
第二次:一边3个球。从没有异常的6个球中拿3个标准球出来,从6个有异常的球中拿出3个。找到有异常的3个球。
第三次:一边1球。从有异常的3个球中,拿出两个来。

加载更多回复(1)

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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