首页 > 解决方案 > 计算一个数字的所有可能部分的程序

问题描述

好吧,所以我的一个朋友挑战我完成这件事,但我就是走不了多远......

他要求我做的是制作一个程序,显示并计算输入数字的所有可能部分。

5 的示例:

1+1+1+1+1

2+1+1+1

3+1+1

4+1

5

3+2

2+2+1

我希望程序用 C++ 或一些伪代码编写,我都不介意。

期待感谢大家!

编辑:不重复。我要求用 C++ 提供解决方案;另一个是Python。另外,我的问题要求所有可能添加的部分都返回初始编号。

标签: mathpermutationcombinatorics

解决方案


对于非零分区(想象 1 数组中的布尔分隔符)

2 ** (n-1) 

此列表将包括 2 + 3 和 3 + 2。

如果允许 0 则无限。


推荐阅读