有一架天平,要用它稱出1~N克之間所有重量為整數克的物體,至少用多少個砝碼?每個砝碼的重量是多少?
之前碰到一個問題:有一架天平,要用它稱出1~40克之間所有重量為整數克的物體,至少用多少個砝碼?每個砝碼的重量是多少?答案是4個砝碼,這4個砝碼的重量分別是1,3,9,27。再推至極限情況,給出任意一個範圍,1~N,是否有一套公式,根據N的數值,可以算出需要至少多少砝碼,並分別計算出這些砝碼的重量呢?
謝邀。@周欣宇的答案是對的,但是對於如何去稱還是說得不太明白。
結論:砝碼的質量是1為首項,3為公比的等比數列。我們假設物體質量的三進位表示為,其中每一項的取值都是0、1或2.
- 如果其中沒有2,那麼只需要把所有1對應位置的砝碼放置到天平另一端即可。
如:質量為10,三進位表示為101,則把1和9放到對面。
- 如果其中有2,那麼從右到左,把大於等於2的數字減去3,再把左邊的數字加上1.
如:質量為17,三進位表示為122。首先把最右邊的2減去3,再把左邊的2加上1,變成{1,3,-1},再處理第二位:把3減去3,再把最左邊的1加上1,變成{2,0,-1},最後把2減去3,左邊補上1,變成{1,-1,0,-1}。
處理完之後,把1對應的砝碼放在物體對面,把-1對應的砝碼放在物體同側即可。
比如針對質量為17的物體,對面放27,同側放1和9,剛好。有。
一、結論:
假設使用n+1個砝碼,
對於每個n,可以稱出的N的範圍在
多於這個範圍需要n=n+1,少於這個範圍則只需要到n=n-1即可
對於題主提出的情況即為n=3,
二、應用:
對於任意N,根據(一)中閉區間的範圍求出n值,即可得到所需求的砝碼個數(n+1)。
假如N=6546587,求出log(6546587, base=3)~=14.2857, 即需要15個砝碼,從1,3,9,27一直到3^14=4782969;由這15個砝碼可以最多稱出1-7174453中任何一個數字。
證明:
數學歸納法:
(1)對n=0,1,2,口算成立
(2)假設有k個砝碼,可以稱出不大於
的所有組合。
(3)那麼加入第k+1個砝碼:
我們可以看到
也即恰好為
的中間值,離兩個端點的距離均為。
而這個值正是(2)中k個砝碼可以完美覆蓋的數值範圍。
很久沒寫證明了可能語言不太好...如有疑問請提出
------
來一個直觀圖。
我們知道最大克數和最遠距離其實是同樣的問題。
假設在第k步,所有的砝碼總共可以測這麼長

那麼在第k+1步,為了讓砝碼能夠最大限度的被利用,即測出最遠距離,那麼我們要這麼安排:

所以第k+1步中能測出的最遠距離的遞推公式即為
因為,可以算出最後的通項,即
-----
思考題:
是否存在以大於3為通項的稱重問題?如果有,是什麼樣的?如果沒有,請給出證明
推薦閱讀:
※如何用兩個骰子顯示日曆?
※如何證明所有可平面圖總有一種方法把所有邊畫成黑白,使其無任何奇數同色環?
※如何證明 1+1=2?
※如何理解數學的不可證偽性?
※「高斯」與老師七個 0 的故事求解?
