锁定老帖子 主题:发一个今天面试的算法题
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-10-13
有101块金币,其中一块是假的,要求用无砝码的天平称两次,判断是真的金币重还是假的重 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-10-13
目前想到的是:
1,分四份 25 25 50 1 先称25 25的若不同.则从50的那堆分25个出来称.则这三堆中就能得到答案. 2,若25 25相同则合并成50 同 50的一起称...若你人品非常有问题...50 = 50的重量...则拿出来的那个是假的...以后就要称第三次了... |
|
返回顶楼 | |
发表时间:2010-10-13
分三份,第一份份五十个,第二份五十个,第三份份一个。
第一次:将两份五十个分别放到天平两端。 如果天平是平的,证明第三份是假的。这时只要从真的里拿出一个,和假的分别放到天平两端,就能知道假的是轻是重。 如果天平是不平的,证明在天平上的两份中有一份包含假的,而第三份是真的。 将重的那一份分成两份,每份25个,分别放到天平两端,如果天平是平的,证明这些全部是真的,而假的在轻的那一堆里,就能证明假的轻。 如果天平不是平的,证明假的包含在这50个里,因为这50个是重的那一堆,所以假的重。 |
|
返回顶楼 | |
发表时间:2010-10-13
kldwq2002 写道 分三份,第一份份五十个,第二份五十个,第三份份一个。 第一次:将两份五十个分别放到天平两端。 如果天平是平的,证明第三份是假的。这时只要从真的里拿出一个,和假的分别放到天平两端,就能知道假的是轻是重。 如果天平是不平的,证明在天平上的两份中有一份包含假的,而第三份是真的。 将重的那一份分成两份,每份25个,分别放到天平两端,如果天平是平的,证明这些全部是真的,而假的在轻的那一堆里,就能证明假的轻。 如果天平不是平的,证明假的包含在这50个里,因为这50个是重的那一堆,所以假的重。 啊...我开始想三份的时候...就是这样分的..25 25的我咋用到其他的地方去呢..笨死了. |
|
返回顶楼 | |
发表时间:2010-10-13
主要是把第二步的逻辑理清楚,呵。
|
|
返回顶楼 | |
发表时间:2010-10-13
kldwq2002 写道 主要是把第二步的逻辑理清楚,呵。
对啊..我就失败在第二部...怎么没想到平均分呢.. |
|
返回顶楼 | |
发表时间:2010-10-13
这个题比称12个球的那个题简单多了
|
|
返回顶楼 | |
发表时间:2010-10-13
称两次。。。。
|
|
返回顶楼 | |
发表时间:2010-10-14
kldwq2002 写道 分三份,第一份份五十个,第二份五十个,第三份份一个。
第一次:将两份五十个分别放到天平两端。 如果天平是平的,证明第三份是假的。这时只要从真的里拿出一个,和假的分别放到天平两端,就能知道假的是轻是重。 如果天平是不平的,证明在天平上的两份中有一份包含假的,而第三份是真的。 将重的那一份分成两份,每份25个,分别放到天平两端,如果天平是平的,证明这些全部是真的,而假的在轻的那一堆里,就能证明假的轻。 如果天平不是平的,证明假的包含在这50个里,因为这50个是重的那一堆,所以假的重。 佩服 |
|
返回顶楼 | |
发表时间:2010-10-14
kldwq2002 写道 分三份,第一份份五十个,第二份五十个,第三份份一个。
第一次:将两份五十个分别放到天平两端。 如果天平是平的,证明第三份是假的。这时只要从真的里拿出一个,和假的分别放到天平两端,就能知道假的是轻是重。 如果天平是不平的,证明在天平上的两份中有一份包含假的,而第三份是真的。 将重的那一份分成两份,每份25个,分别放到天平两端,如果天平是平的,证明这些全部是真的,而假的在轻的那一堆里,就能证明假的轻。 如果天平不是平的,证明假的包含在这50个里,因为这50个是重的那一堆,所以假的重。 呵呵,想法一样. |
|
返回顶楼 | |