我希望得到所有数字组合。
我的输入是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)
我希望获得所有这些数字可以求和的组合,而无需重复序列。
任何人都可以帮我找到它的算法吗?我必须使用for循环
在VBA的Excel中编码答案 0 :(得分:1)
“算法”由数学求解,由X乘以2的组合给出:
X!/((X-2)!*2!)=X!/((X-2)!*2)
(note: Just in case... "!" is the factorial...)
现在,如果您想使用for-loop
计算阶乘(用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;
}