2014-02-25 43 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