天平與假幣
假設現在有12枚硬幣,已知其中有一枚是假幣,但是不知道這枚假幣是重還是輕;假如現在給你一架沒有砝碼的天平,那麼你至少需要稱量多少次才能找出這枚假硬幣。。
問題分析
隨機將12枚硬幣等分成3組,每組4個,分別標記爲A,B,C;
取A和B,分別放在天平的兩端(A放左邊,B放右邊),稱重,有以下三種結果:
1)如果天平平衡,表明A和B中都沒有假幣,
2)A比B重;
3)A比B輕;
明顯,第二種和第三種情況可以合併成一種來進行分析;
天平平衡的情況
天平平衡,說明A和B中都沒有假幣,假幣一定在C組中,將C組的四枚硬幣分別編號爲1,2,3,4;
取出硬幣1和2放於天平上稱量,如果平衡,說明硬幣1和2都是真的,那麼硬幣3和4中一定有假幣;
取出1和3稱重,如果天平不平衡,說明3就是假幣;
如果天平平衡,說明3也是真的,那麼4就是假幣;
A比B重的情況
A比B重,說明假幣肯定在A和B中,C中的都是真硬幣;於是將A中的四個硬幣分別編號爲5,6,7,8,B中的分別編號爲9,10,11,12,而C中的分別1,2,3,4,即:
5678 > 9101112 公式一
取出硬幣5,6和9放在天平的左端,硬幣7,8和1放在天平的右端,稱重,同樣有三種情況:
1)天平平衡:說明假幣在B組的6,7和8中,且假幣輕;
2)左端比右端重:說明5和6中有假幣,且假幣重;因爲在公式一的條件保證下,不可能9是假幣;也不可能是7和8;
3)左端比右端輕:說明a)3和4有假幣,且假幣重;b)5是假幣,且假幣輕;
針對上面的幾種情況,都至多需要再稱重一次就可以找到假幣是誰;
理論驗證
對於每一次的天平稱重,都存在三種情況:平衡、左邊重,右邊重;
如果把每一次稱重當做一位編碼,那麼該編碼就是三進制的,這時問題就轉化爲,12枚硬幣需要多少位纔夠編碼呢?
因爲假幣的輕重未知,所以有兩種可能,因此12變成24,那麼用三進制來表示24,需要多少位呢?
設需要n位,則3的n次方≥24,解得:n≥2.89,因此至少需要3刺稱重才能找到假幣。