公告版位

問題

有金幣六袋,不知道有幾袋真幾袋假,真的金幣重10克,假的重9克。給你一個電子秤,只能秤重一次,就知道哪幾袋是假的?

提示

不是天秤,這可以秤出重量。 

解法

這題可以透過二進位表示法來解,將每袋編號並取出2的編號減1冪次方的金幣進行秤重,如下表所示:

袋子編號(相當於二進位位數) 6 5 4 3 2 1
取出的金幣數(相當於二進為轉為十進位值) 32 16 8 4 2 1

我們先以全部為假幣維基準點(63 * 9 = 567克),任一袋為真時,則比基準點多出該袋取出金幣數的克重,例如1號為真,會有一枚真金幣,也就會多1克(568克);當1號與2號為真,會多3克...

實際判斷時,是以秤重得到的重量反推組合,將多出的克重轉為二進位數字即可得知對應的袋子:

如果多63克,轉為二進位為111111,表示全部為真。

如果多62克,轉為二進位為111110,表示只有1號是假。

如果多61克,轉為二進位為111101,表示只有2號是假。

如果多60克,轉為二進位為111100,表示1號和2號是假。

...

如果多0克,轉為二進位為000000,表示全部為假。

延伸閱讀

上一篇 智力測驗 - 金幣問題(一)

下一篇 智力測驗 - 金幣問題(三)

文章標籤
創作者介紹

小殘的程式光廊

emn178 發表在 痞客邦 PIXNET 留言(1) 人氣()


留言列表 (1)

發表留言
  • i427v
  • ◇打○破市場○價格﹋-♂讓○你☉享﹉受最價`廉□春藥﹌

    577Up.COm
找更多相關文章與討論