如题:
int a = 11;
int[] x = new int[]{2,7,5,3,4};
求 11 = 2 + 5 + 4;或者 11 = 7 + 4;
int a = 11;
int[] x = new int[]{2,7,5,3,4};
求 11 = 2 + 5 + 4;或者 11 = 7 + 4;
解决方案 »
- 显示引用另一项目成功,但是不能using,并且效果跟为引用一样,求解
- C# 用户控件和自定义控件的选择
- 【入门级问题】C#基础,界面,按钮
- C# 数据库连接
- 高手请进,谢谢
- error CS0006: 未能找到元数据文件“System.DirectoryServices.dll”
- 如何在Pocket PC上使用自定义控件,急,在线等!
- 求为表添加字段的sql语句!!
- 求个问题, 哥哥们进来看看了
- 为什么每个ASP.NET文件都要与一个.CS文件搭配着?
- treeview控件在ms IE中看起来跟写文本一样,解决了现结贴
- 怎么确定动态菜单menu中点击到哪个MenuItems,好像没有TEXT属性,怎么确定呢?请教
比如你的数组有100个元素,那么需要考虑的情况个数是 C(100, 1) + C(100, 2) + ... + C(100, 100),就算加上条件判断也需要考虑非常多的情况。
如果指定求两个或三个的和还有可能,不过循环的次数也是很多的
1.用int b=a-x[0]
2。判断b是否为x中剩下的最小的值,如果有相等地就是一个组合。
3。如果b是最小就无解。
4。如果有小于b的x[i],,令a=b,递归调用,减去比b小值值x[i],并在剩下的x值中找个与b相等的就是个组合了。依次递归看看!
你怎么知道最小数肯定在最后组合中?
比如7=3+4,x[]={2,3,4},那么7=2+?