2014-02-25 44 views
0

我想獲得數字的所有組合。查找數字的所有組合,以不重複求和

我輸入的是X是可變的,而X是數數,

例如:

X=4意味着我們必須1,2,3,4

x=100 means 1,2,3,4,5,,98,99,100

現在我想{(1,2)(1,3)(1,4)(2,3)(2,4)(3,4),(1,2,3)(1,3,4)…}

我們不能像重複序列一樣(1,2)(2,1)(1,2,3)(1,3,2)

我想得到所有這些數字可以總和沒有重複序列的組合。

任何人都可以幫助我找到它的算法嗎?

X!/((X-2)!*2!)=X!/((X-2)!*2) 

(note: Just in case... "!" is the factorial...) 
現在如果你想使用 for-loop計算階乘

:我必須使用循環

+0

請參閱http://office.microsoft.com/en-us/excel-help/combin-function-HP010062427.aspx我計算有約。 1x10^29種方式只需從100箇中選擇50個數字,所以我會很感興趣,你將如何存儲所有這些組合! –

+0

我只問,因爲這聽起來像一個學校作業,你是否真的需要存儲所有的組合或只是找到他們的計數? – pegicity

+0

我需要所有的組合不算他們 – user3352837

回答

1

的「算法」是從數學2解決,鑑於X的組合中的Excel VBA它的代碼(寫在c):

int main() 

{ 

    int num,factorial=1; 

    cout<<" Enter Number To Find Its Factorial: "; 

    cin>>num; 

    for(int a=1;a<=num;a++) 

    { 

     factorial=factorial*a; 

    } 
+1

OP是詢問VBA的Excel,而不是C ... – ARich

+0

我知道,我只是不是那麼熟悉VBA,我想他可以做一個「翻譯」 – apomene

+0

我需要的算法它可以是其他的編程語言 – user3352837