征求排列组合算法,该怎么处理
征求排列组合算法
有N个任意数字 (1,23,21,87,...)
排列出所有N个数字相加的可能,
比如生成如下格式:
1+23
1+23+21
1+23+21+87
1+21+87
1+87
23+21
23+21+87
21+87
.....
------解决方案--------------------
dim a(n-1) as integer,b(n-1) as integer
dim i as integer,j as integer
dim sum as long
先用n个数字填充a,b
然后
for i=0 to n
sum=0
forj=i+1 to n
sum=sum + a(i)+b(j)
debug.print sum
next
next
------解决方案--------------------
mark
------解决方案--------------------
#include <iostream>
using namespace std;
int main()
{
int matrix[10]={0,1,2,3,4,5,6,7,8,9};
int m,n;
for(m=0;m <10;m++)
{
for(n=m;n <10;n++)
{
for(int i=0;i <m;i++)
{
cout < <i;
}
cout < <n < <endl;
}
}
return 0;
}
------解决方案--------------------
关注一下,看到过类似问题,不过是在数据库方面的。
有N个任意数字 (1,23,21,87,...)
排列出所有N个数字相加的可能,
比如生成如下格式:
1+23
1+23+21
1+23+21+87
1+21+87
1+87
23+21
23+21+87
21+87
.....
------解决方案--------------------
dim a(n-1) as integer,b(n-1) as integer
dim i as integer,j as integer
dim sum as long
先用n个数字填充a,b
然后
for i=0 to n
sum=0
forj=i+1 to n
sum=sum + a(i)+b(j)
debug.print sum
next
next
------解决方案--------------------
mark
------解决方案--------------------
#include <iostream>
using namespace std;
int main()
{
int matrix[10]={0,1,2,3,4,5,6,7,8,9};
int m,n;
for(m=0;m <10;m++)
{
for(n=m;n <10;n++)
{
for(int i=0;i <m;i++)
{
cout < <i;
}
cout < <n < <endl;
}
}
return 0;
}
------解决方案--------------------
关注一下,看到过类似问题,不过是在数据库方面的。