| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4008 人关注过本帖, 1 人收藏
标题:有一1000桶酒,其中一桶是毒酒,现在通过10个小老鼠来查处哪桶酒是毒酒?用 ...
只看楼主 加入收藏
Whale壹零四
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-1-6
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:27 
有一1000桶酒,其中一桶是毒酒,现在通过10个小老鼠来查处哪桶酒是毒酒?用C语言程序写出来
上了一个学期的C语言 知道这题的思路 但是还是不会写 求大神指教啊!!
搜索更多相关主题的帖子: C语言 老鼠 
2015-01-12 23:02
Whale壹零四
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-1-6
收藏
得分:0 
思路:

为何需要老鼠做实验,显然是根据老鼠的死活来判断酒的毒性,每一只老鼠只有2种状态,死和活,n只老鼠就是这n个死或活的状态,应该由此敏感的联想到二进制,隐约去感知1000这个数量与n的关系,2^n能表示多少的信息量呢?2^10=1024,想到这里我们可以试着去用10个老鼠去做一下实验。

步骤:

把1000桶酒分别以10位二进制数标号,从0000000001至1111101000,从这1000个二进制数中寻找毒酒,毒酒也一定是0和1的某种组合,所以问题转化为如何得出这个组合的每一位都是多少,我们先思考如何得出第一位(从右到左)是0还是1,结论是只要把所有第一位是1的酒给一只老鼠喝,如果这只老鼠最终死了,可知毒酒的第一位一定是1,如果这只老鼠还活着,可知毒酒第一位一定是0.依次类推,我们使用10只老鼠便可判断毒酒的每一位是多少。从而得到毒酒的二进制数,转化成10进制便只是第几桶。

Hello world!
2015-01-12 23:04
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
回复 2楼 Whale壹零四
我怎么觉得这个思路很反人类呢

Only the Code Tells the Truth             K.I.S.S
2015-01-12 23:09
Whale壹零四
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-1-6
收藏
得分:0 
回复 3楼 longwu9t
那你有更好的思路 这是一个老师给的题目 老师给的大概思路是这个样子 就是不知道怎么用C写出来啊

Hello world!
2015-01-12 23:14
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
分别用1到1000的二进制&0000000001,&0000000010……取出每位上的数表示每只老鼠的状态,满足9只活着一只死了

一片落叶掉进了回忆的流年。
2015-01-12 23:14
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
回复 4楼 Whale壹零四
这个思路是你老师给你的题目要求吧?
你要是看题目想出这种思路
我觉着你一定是火星来的

Only the Code Tells the Truth             K.I.S.S
2015-01-12 23:15
Whale壹零四
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-1-6
收藏
得分:0 
不知道怎么写出来 有个同学写出来的看不懂

Hello world!
2015-01-12 23:16
Whale壹零四
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2015-1-6
收藏
得分:0 
回复 6楼 longwu9t
看题目的话 大概是想一个老鼠负责100桶吧 > _ <

Hello world!
2015-01-12 23:17
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
回复 8楼 Whale壹零四
一只老鼠试不出来么
老鼠的酒量看来有限啊

Only the Code Tells the Truth             K.I.S.S
2015-01-12 23:18
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:0 
回复 楼主 Whale壹零四
是不是还要有个状态来区分老鼠是醉死的还是毒死的????

Only the Code Tells the Truth             K.I.S.S
2015-01-12 23:20
快速回复:有一1000桶酒,其中一桶是毒酒,现在通过10个小老鼠来查处哪桶酒是毒酒 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013521 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved