2010-03-20 61 views
1

我給了一個數字N,我必須從數組V中添加一些數字,以便他們將是平等的。 V由3的所有冪的數字組成:問題與數字

N = 17 
    S = 0 
V = 1 3 9 27 81 .. 

我應該將數字從V添加到N和S以使它們相等。上面的例子的解決方案是: 17 + 1 + 9 = 27,27,1和9取自V,從V的數字只能取一次,並且當它被取出時從V取出。

我嘗試了對V進行排序然後添加從V至S,直到S中最大的數目已經達到N,但在有些測試中失敗,當它是這樣的:

N = 7 
S = 0 
V = 1 3 9 27 
So the solution will be: 
7 + 3 = 9 + 1 

在像這樣的例子,我需要的數字都增加N和S,並且還選擇了他們,讓他們變得平等。 解決這個問題的任何想法?謝謝。在鹼

+0

儘管我還沒有確定這是真的屬於SO還是數學相關的論壇,但我必須承認這是一個有趣的問題! – stakx 2010-03-20 10:47:02

+0

**問題:**是否允許'N'的初始值也是'V'(即3的冪)? – stakx 2010-03-20 10:51:09

+0

@stakx:是的。 – StolePopov 2010-03-20 10:52:18

回答

2

寫入N 3:17 = 2 * 1 + 2 * 3 + 1 * 9
查找的3係數2中的第一功率,在這種情況下1
添加的3這個功率:17 + 1個
重複,直到所有的係數是0或1

17 = 2 * 1 + 2 * 3 + 1 * 9
17 + 1 = 2 * 9
17 + 1 + 9 = 27

7 = 1 * 1 + 2 * 3
7 + 3 = 1 * 1 + 1 * 9