论坛首页 招聘求职论坛

发一个今天面试的算法题

浏览 18341 次
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-10-13  

有101块金币,其中一块是假的,要求用无砝码的天平称两次,判断是真的金币重还是假的重

   发表时间:2010-10-13  
目前想到的是:
1,分四份 25 25 50 1 先称25 25的若不同.则从50的那堆分25个出来称.则这三堆中就能得到答案.
2,若25 25相同则合并成50 同 50的一起称...若你人品非常有问题...50 = 50的重量...则拿出来的那个是假的...以后就要称第三次了...
0 请登录后投票
   发表时间:2010-10-13  
分三份,第一份份五十个,第二份五十个,第三份份一个。

第一次:将两份五十个分别放到天平两端。
如果天平是平的,证明第三份是假的。这时只要从真的里拿出一个,和假的分别放到天平两端,就能知道假的是轻是重。

如果天平是不平的,证明在天平上的两份中有一份包含假的,而第三份是真的。
将重的那一份分成两份,每份25个,分别放到天平两端,如果天平是平的,证明这些全部是真的,而假的在轻的那一堆里,就能证明假的轻。
如果天平不是平的,证明假的包含在这50个里,因为这50个是重的那一堆,所以假的重。
2 请登录后投票
   发表时间:2010-10-13  
kldwq2002 写道
分三份,第一份份五十个,第二份五十个,第三份份一个。

第一次:将两份五十个分别放到天平两端。
如果天平是平的,证明第三份是假的。这时只要从真的里拿出一个,和假的分别放到天平两端,就能知道假的是轻是重。

如果天平是不平的,证明在天平上的两份中有一份包含假的,而第三份是真的。
将重的那一份分成两份,每份25个,分别放到天平两端,如果天平是平的,证明这些全部是真的,而假的在轻的那一堆里,就能证明假的轻。
如果天平不是平的,证明假的包含在这50个里,因为这50个是重的那一堆,所以假的重。

啊...我开始想三份的时候...就是这样分的..25 25的我咋用到其他的地方去呢..笨死了.
0 请登录后投票
   发表时间:2010-10-13  
主要是把第二步的逻辑理清楚,呵。
0 请登录后投票
   发表时间:2010-10-13  
kldwq2002 写道
主要是把第二步的逻辑理清楚,呵。

对啊..我就失败在第二部...怎么没想到平均分呢..
0 请登录后投票
   发表时间:2010-10-13  
这个题比称12个球的那个题简单多了
0 请登录后投票
   发表时间:2010-10-13  
称两次。。。。
0 请登录后投票
   发表时间:2010-10-14  
kldwq2002 写道
分三份,第一份份五十个,第二份五十个,第三份份一个。

第一次:将两份五十个分别放到天平两端。
如果天平是平的,证明第三份是假的。这时只要从真的里拿出一个,和假的分别放到天平两端,就能知道假的是轻是重。

如果天平是不平的,证明在天平上的两份中有一份包含假的,而第三份是真的。
将重的那一份分成两份,每份25个,分别放到天平两端,如果天平是平的,证明这些全部是真的,而假的在轻的那一堆里,就能证明假的轻。
如果天平不是平的,证明假的包含在这50个里,因为这50个是重的那一堆,所以假的重。

佩服
0 请登录后投票
   发表时间:2010-10-14  
kldwq2002 写道
分三份,第一份份五十个,第二份五十个,第三份份一个。

第一次:将两份五十个分别放到天平两端。
如果天平是平的,证明第三份是假的。这时只要从真的里拿出一个,和假的分别放到天平两端,就能知道假的是轻是重。

如果天平是不平的,证明在天平上的两份中有一份包含假的,而第三份是真的。
将重的那一份分成两份,每份25个,分别放到天平两端,如果天平是平的,证明这些全部是真的,而假的在轻的那一堆里,就能证明假的轻。
如果天平不是平的,证明假的包含在这50个里,因为这50个是重的那一堆,所以假的重。


呵呵,想法一样.
0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics