是否任意自然數都能被不相同的斐波那契數之和表示?

附加題: 怎樣的線性遞推數列能表示所有自然數?


主問題:是否任意自然數都能被不相同的斐波那契數之和表示?

答案:是。

可以參考 Zeckendorf"s theorem。

該定理指出:任意正整數都可表示為一個或多個不同的斐波那契數之和。

即,對任意的正整數 N ,存在正整數 c_igeq2 ,且滿足 c_{i+1}geq c_i+1 ,有:

N=sum_{i=0}^{m}{F_{a_i}}

F_{a_i} 表示第 a_i 個斐波那契數。

證明:數學歸納法。

求解:貪心演算法。


上面說的是存在性,其實 Zeckendorf"s theorem 還提出了唯一性:

任意正整數 N 的 Zeckendorf"s representation 都是唯一的。

概念解釋:如果幾個斐波那契數和為 N ,且這些斐波那契數彼此不相鄰,那麼將這幾個數之和稱作 N 的 Zeckendorf"s representation。

唯一性的潛台詞是:任意正整數不但可以表示成一個或多個斐波那契數之和,而且必定擁有一個 Zeckendorf"s representation。


附加題:怎樣的線性遞推數列能表示所有自然數?

補充:這句話含義有些模糊,題主是不是想表達:從一個數列取不同的數,其和能組成任意自然數(限定為正整數似乎更好),這樣的數列具備什麼樣的形式?

答案:這樣的數列需要滿足的形式非常簡單。

此類數列被稱為 complete sequence。

假如一個數列為 c_n ,那麼只需滿足如下性質,該數列就是一個 complete sequence:

c_0 = 1

② 對任意正整數 kgeq 1 ,有 s_{k-1} geq c_k -1 ,其中 s_k = sum_{i=0}^{m}{c_i}

並且這兩個條件是充分必要的。

由上面兩個條件可以得到推論:

c_0 =1

② 對任意正整數 kgeq 1 ,有 2 c_k geq c_{k+1}

即滿足這兩個性質的數列也是一個 complete sequence。

不過這個推論只是 complete sequence 的充分條件,而不是必要條件。數列 A203074 即為一個反例。

證明從略。

顯然斐波那契數列一定是一個 complete sequence。


Update: @靈劍 的答案給出了部分證明過程,我就不贅述了。


這個應該不難證明吧,用數學歸納法,顯然k = 1時命題成立,假定任意k &<= N都能表示為不同的斐波那契數之和,考慮k = N +1,如果它是斐波那契數那結論成立,否則一定存在相鄰的兩個斐波那契數 a_m < k < a_{m+1} ,則 0 < k - a_m < a_{m + 1} - a_{m} = a_{m-1} ,按照歸納法假設 k - a_m 可以表達為不同的斐波那契數之和,而它又小於 a_m (因為 a_m ge a_{m-1} ),所以這不同的數中並不包含 a_m ,所以k=N+1也能表示為不同斐波那契數之和。

從證明過程來看,如果正整數數列的起始項為1,而且滿足 a_{m-1} < a_m le 2a_{m-1} ,那麼都是可以符合條件的。不按順序的可以考慮重新排序之後的數列。

從必要性上來說,對於一個嚴格遞增的序列,如果存在 S_{m-1} + 1 < a_m ,其中 S_na_n 的前n項和,則 S_{m-1} + 1 顯然無法表示為不相同的項之和,所以必須有 S_{m-1} + 1 ge a_m,這和我們剛才的充分條件中間好像還差了一點點,所以充要條件等其他人補充吧

===================================================

不用其他人補充了,我們來證明對於任意嚴格遞增的數列 a_na_1 = 1S_{m-1} + 1 ge a_m 就是個充要條件。還是一樣的方法,不過我們需要加強一下這個命題,我們現在證明:

如果數列滿足: a_1 = 1S_{m-1} + 1 ge a_m ,則對於任意正整數k,k總能表示為若干不同的 a_m 的和,且:如果 k le S_m ,則k總能表示為 {a_1, a_2, ..., a_m} 中若干不同的數的和。

顯然命題對k = 1成立。

如果命題對k &<= N成立,當k = N+1時,存在 S_{m-1} le k < S_{m}k = S_{m-1} 時顯然成立,當 k > S_{m-1} 時, a_m le k ,若 k = a_m ,則命題也成立;否則 a_m < k < S_{m}0 < k - a_m < S_{m-1} ,所以根據歸納假設, k - a_m 可以被 {a_1, a_2, ..., a_{m-1}} 中的數的和表示,再加上 a_m ,就可以表示k。

由此我們證明了充分性,再加上前面討論的必要性,我們就得到了充要條件。而且不僅局限於線性遞推數列。


不僅是,而且還有人專門研究這種表示下的位數碼之和。我有個06級本科學生的畢業論文就曾經做這個。


任意一個自然數都可以由不相鄰的 Fibonacci 數之和表示吧...不相同有點弱了。證明應該不難。


這個問題還是很顯然的吧。

遞推即可
1,2能表示1,2,3
表示4,5可以用表示1,2的方法+3
6-8可以用表示1,2,3的方法+5

從資訊理論的角度出發。
可以證明1,2,4,8,...是恰好不重複地表示全體自然數的數列。

這是個幾何級數,線性遞推公式的通項只要通項的基不大於2即可。同意大於2不行。
不大於2的話,第n項必須不能大於2^(n-1),否則可以下面的角度證偽。

補一下:資訊理論的角度。
前n項恰好有2^n種組合,而0到2^n -1恰好是這麼多的個數,一個蘿蔔一個坑。

再補點相關題目吧(以前刷高聯二試碰到的):
有n個砝碼,怎麼設置砝碼的克數,才能準確稱量質量最大的物體。


斐波那契數列.[蘇]瓦羅別耶夫,第一章的最後幾頁(30頁左右)討論了斐波那契數列表示自然數和小數,以及這種方式與二進位和十進位的比較。

pdf:

https://pan.baidu.com/s/1boHyMF9


推薦閱讀:

這道數學題這麼難? 求解?
根號 π 等於多少?
100個人求職,公司要怎樣才能取到這100個人當中的最好的那個人的概率最大?
如何解釋「有限」、「可數」、「不可數」與「無限」?
圓桌上1000個人輪流向左或右開槍,最後活下來概率最大的是幾號?

TAG:數論 | 趣味數學 |