面试算法题1

【转】http://www.iteye.com/topic/784128

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

 

答案:分三份,第一份份五十个,第二份五十个,第三份份一个。 

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

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

你可能感兴趣的:(面试笔试)