c语言问题,麻烦解一下,用数学也可以。

[复制链接]
查看11 | 回复3 | 2008-10-23 22:33:59 | 显示全部楼层 |阅读模式
;现有十二个小球,其中一个球的重量与其它十一个的重量不相同,但不知道是轻还是重。试用天平称三次,把这个非标准球找出来,并指出它比标准球是轻还是重。
要求:(1). 用嵌套的选择结构编写程序;
(2). 调试程序时,必须把十二个球或轻或重共24种可能性都找出来。
懂C语言的人(用程序编写)或者数学高手(用数学思路)麻烦做一下,谢谢。

回复

使用道具 举报

千问 | 2008-10-23 22:33:59 | 显示全部楼层
1. 其实这就是一个搜索的算法天平称小球问题有很多经典的范式解法,在这里我们谈论着只是其中最为广泛应用的一种——三进制编码解法。为什么想起了使用三进制?其实很好理解。让我们考虑一下小球的状态,有:没放在天平上、在天平左盘、在天平右盘三种。我们不妨用一些数码来表示这三种状态:0——没放在天平上1——放在天平左盘2——放在天平右盘这样,我们就可以用一个数码串来表示某个小球被称量的过程,比如某个小球的编码是210120,就表明这个小球,第一次称量在右盘,第二次在左盘,第三次不在天平上,第四次在左盘,第五次在右盘,第六次不在天平上。很简单吧,仅仅用一个数码串就把小球复杂的称量过程表示出来了。为了方便说明,下面都以“12小球称...
回复

使用道具 举报

千问 | 2008-10-23 22:33:59 | 显示全部楼层
觉得最少需要四次~~~可能是我数学不好吧,哎。。。。...
回复

使用道具 举报

千问 | 2008-10-23 22:33:59 | 显示全部楼层
大个呀~!~!怎么这么简单都不会 啊 ?~!一共12个球,就一个是特别的 啊~!!12个球分成2份 啊 ~就是一边6个!会有一边重或着轻,在这就会有两中情况出现!~
重、和轻、重时:再分就是每边3个!重的再分,就是1vs1了,如果是一样重的话,那就是那个没称的了 !!轻时:再分就是每边3个~!轻的再分就是1vs1了...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行