社区
Java EE
帖子详情
JAVA逻辑题 ~求解
monet123
2010-03-25 11:23:30
有20个小球,其中一个与其他不一样重,不知道是轻还是重,通过天平来称,用什么方法只通过3次测量,就可以测出来是哪个球,而且是轻还是重?
...全文
108
7
打赏
收藏
JAVA逻辑题 ~求解
有20个小球,其中一个与其他不一样重,不知道是轻还是重,通过天平来称,用什么方法只通过3次测量,就可以测出来是哪个球,而且是轻还是重?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ladybirds2008
2010-03-29
打赏
举报
回复
[Quote=引用 6 楼 tillperfect 的回复:]
20个球,我想了又想,觉得四次才可以。。。
期待高人给出称三次的方法。。。
[/Quote] 我试验了好多次 也同样觉得至少要4次才可以啊。。。16个三次才勉强可以。。20个我怎么也想不起来怎么做,,自认为此类题目的分析还是思路比较清晰的。。。
xiaohuanjie
2010-03-25
打赏
举报
回复
sun1950
2010-03-25
打赏
举报
回复
没看出来和JAVA什么关系.................
不姓贾_请叫我甄先生
2010-03-25
打赏
举报
回复
给你参考一个12个球的分析方法:
将12个球分别编号为 a1,a2,a3.......a10,a11,a12.
第一步:将12球分开3拨,每拨4个,a1~a4第一拨,记为b1, a5~a6第2拨,记为b2,其余第3拨,记为b3;
第二步:将b1和b2放到天平两盘上,记左盘为c1,右为c2;这时候分两中情况:
1.c1和c2平衡,此时可以确定从a1到a8都是常球;然后把c2拿空,并从c1上拿下a4,从a9到a12四球里随便取三球,假设为a9到a11,放到c2上。此时c1上是a1到a3,c2上是a9到a11。从这里又分三种情况:
A:天平平衡,很简单,说明没有放上去的a12就是异球,而到此步一共称了两次,所以将a12随便跟11个常球再称一次,也就是第三次,马上就可以确定a12是重还是轻;
B:若c1上升,则这次称说明异球为a9到a11三球中的一个,而且是比常球重。取下c1所有的球,并将a8放到c1上,将a9取下,比较a8和a11(第三次称),如果平衡则说明从c2上取下的a9是偏重异球,如果不平衡,则偏向哪盘则哪盘里放的就是偏重异球;
C:若c1下降,说明a9到a11里有一个是偏轻异球。次种情况和B类似,所以接下来的步骤照搬B就是;
2.c1和c2不平衡,这时候又分两种情况,c1上升和c1下降,但是不管哪种情况都能说明a9到a12是常球。这步是解题的关键。也是这个题最妙的地方。
A:c1上升,此时不能判断异球在哪盘也不能判断是轻还是重。取下c1中的a2到a4三球放一边,将c2中的a5和a6放到c1上,然后将常球a9放到c2上。至此,c1上是a1,a5和a6,c2上是a7,a8和a9。此时又分三中情况:
1)如果平衡,说明天平上所有的球都是常球,异球在从c1上取下a2到a4中。而且可以断定异球轻重。因为a5到a8都是常球,而第2次称的时候c1是上升的,所以a2到a4里必然有一个轻球。那么第三次称就用来从a2到a4中找到轻球。这很简单,随便拿两球放到c1和c2,平衡则剩余的为要找球,不平衡则哪边低则哪个为要找球;
2)c1仍然保持上升,则说明要么a1是要找的轻球,要么a7和a8两球中有一个是重球(这步懂吧?好好想想,很简单的。因为a9是常球,而取下的a2到a4肯定也是常球,还可以推出换盘放置的a5和a6也是常球。所以要么a1轻,要么a7或a8重)。至此,还剩一次称的机会。只需把a7和a8放上两盘,平衡则说明a1是要找的偏轻异球,如果不平衡,则哪边高说明哪个是偏重异球;
3)如果换球称第2次后天平平衡打破,并且c1降低了,这说明异球肯定在换过来的a5和a6两求中,并且异球偏重,否则天平要么平衡要么保持c1上升。确定要找球是偏重之后,将a5和a6放到两盘上称第3次根据哪边高可以判定a5和a6哪个是重球;
B:第1次称后c1是下降的,此时可以将c1看成c2,其实以后的步骤都同A,所以就不必要再重复叙述了。至此,不管情况如何,用且只用三次就能称出12个外观手感一模一样的小球中有质量不同于其他11球的偏常的球。而且在称的过程中可以判定其是偏轻还是偏重。
Guo110
2010-03-25
打赏
举报
回复
你可以先设定一个参数A,在把第一个球的值给A,在用一个FOR循环就OK了.
int a=0;//参数
int b;//任意一个球
for(i=0,i<20,i++){
if(b>a){
a=b;
}
if(b<a){
a=b;
}
}
soli11722984
2010-03-25
打赏
举报
回复
。。。。。。
这题也太经典了吧
TillPerfect
2010-03-25
打赏
举报
回复
20个球,我想了又想,觉得四次才可以。。。
期待高人给出称三次的方法。。。
数独
逻辑
问
题
的实现
使用
java
,实现数独
逻辑
难
题
的实现,可以选择简单,一般,困难三个难度。
Java
逻辑
编程:球从100米高度自由落下问
题
求解
Java
逻辑
编程:球从100米高度自由落下问
题
求解
java
数独课设.zip
该项目是由本人开发的
java
课程设计的源码,可以直接添加到项目后运行,该程序一共有十关。可以根据需要修改或者改进,
逻辑
方面基本上没有问
题
Java
趣味编程100例 清华大学出版社.zip
本书讲解了100个各种类型的
Java
编程趣味
题
的
求解
过程,旨在帮助读者培养编程兴趣,拓宽
Java
编程思维,提高
Java
编程能力,掌握用程序设计解决实际问
题
的方法与技巧。本书取材注重趣味性与实用性,内容涵盖了
Java
编程...
JAVA
面向过程的程序设计
l –面向对象问
题
求解
关心的不仅仅是孤立的单个过程,而是孕育所有这些过程的母体系统 –它能够用计算机
逻辑
来模拟、描述系统本身,包括系统的组成,系统的各种可能状态,以及系统中可能产生的各种过程与过程引起的...
Java EE
67,513
社区成员
225,879
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章