騰訊2014實習生筆試題--德梅齊里亞克砝碼問題

問題

珠寶商甲須要去鑑定一批41克如下的寶石(多是41克如下不包括41克的任意重量),他只能攜帶一個天平和四個砝碼去稱重,請問他會攜帶那些重量的砝碼?html

來源

2014騰訊暑期實習生附加題第一題算法

解決方案

第一種

這道題的本質應該是這樣,用4個數來表示1-40.剛開是個人思路是使用二進制,可是二進制顯然是不夠的.net

2^4 = 16htm

因此,考試的時候沒有作上來,智商捉急。今天搜索了一下答案,參考了cnblog上一篇文章下的評論撰寫把本文。blog

採用三進制,即ci

3^4 = 81get

因此進一步地,就是解決如何用4位3進制數來表示40這個數,即博客

40/3 = 13---1
13/3 = 4---1
4/3 = 1---1
1/3 = 0---1數學

三進製表示爲1111,即it

1*3^3+1*3^2+1*3^1+1*3^0 = 27+9+3+1

因此這四個砝碼的重量爲27,9,3和1

評論下的某位大神用C++把算法寫出來了。

第二種

在百度知道上看到的,這是德梅齊里亞克砝碼問題
原題是這樣的,摘自百度百科

一位商人有一個40磅的砝碼,因爲跌落在地而碎成4塊.後來,稱得每塊碎片的重量都是整磅數,並且能夠用這4塊來稱從1至40磅之間的任意整數磅的重物.
問這4塊砝碼碎片各重多少?

法國數學家G.B.德·梅齊里亞克(1581一1638)在他的著做中解答了這題. 爲使兩砝碼A與B能稱出最多種重量,必須是1磅和3磅,用它們能稱出一、二、三、4磅的重物。如選第三塊砝碼C的重量爲2x4+1=9磅,則用它們可稱出1至9+4=13磅間的全部整數磅重物。最後選第四塊砝碼D,使它重量爲2x13+1=27磅,那麼用這四塊砝碼能稱出從1至27+13=40磅的重物.所以,這四塊砝碼的重量分別爲一、三、九、27磅。

更詳細的關於德梅齊里亞克砝碼問題,仍是看CSDN這篇博客,很詳細。

其實這就是德梅齊里亞克砝碼所帶來的整數最優拆分法,用1和3能夠構造一切有理數。

公式

X=M*2+1

其中X爲M的後一項數,M爲X前全部項的和。初值M爲1,那麼日後推論就能夠推出任意的數值,即

M=1
M = 1, X = 3
M = 1 + 3, X = 9
M = 1 + 3 + 9, X = 27
M = 1 + 3 + 9 + 27, X = 81
M = 1 + 3 + 9 + 27 + 81, X = 243

發現這就是3的各次冪序列

3^0, 3^1, 3^2, 3^3, 3^4, 3^5......

世界上最完美的砝碼組合---神祕的「3」重現江湖!這篇文章講的更爲透徹。原文裏有這麼句話讓我對老子,對道家,對中華文化的博大精深所折服。

全是數字「3」的各次冪…神奇而又神祕的「3」再次出現!
讓人不由自主地又一次想起「三生萬物」!
說句老實話,有多少人在研究老子道德經,就是沒法對老子的這句話完全理解明白:
「道生一,一輩子二,二生三,三生萬物」

總結

道生一,一輩子二,二生三,三生萬物

相關文章
相關標籤/搜索