求正整数n所有可能的和式的组合
来源:互联网 发布:家装平面设计软件 编辑:程序博客网 时间:2024/05/16 14:29
问题背景:求正整数n所有可能的和式的组合(如;4=1+1+1+1、1+1+2、1+3、2+1+1、2+2)
对于这个题目有两种理解了:
一> 如果将1+1+2和2+1+1当成不同的序列的话,这个问题会相对容易些。
拿n=4这个例子,首先最长的组合肯定是4=1+1+1+1,那么最短的组合是4=4,到最后可能会将4=4这种情况排除掉,所以所有组合的长度一定为1,2,3,4。
那么上面的计算可以得到一个组合数为C(3,0) + C(3,1) + C(3,2) + C(3,3) = 2^3个组合。如果4=4不算,则组合序列有2^3 - 1个,那么对于n则有的个数为2^(n-1) - 1个。
二> 将如果将1+1+2和2+1+1当成相同的序列的话会有点tricky,不过可以使用下面的方法来解决
假设现在得到的一个序列X的长度为N,那么我们可以从这个序列来拓展出长度N-1的序列。
首先统计X中含有几个不同的元素如1+1+2含有2个不同的元素1和2,将任意两个不同的元素相加生成一个新的元素p,用p来替换这个新的元素,这样1+1+2可以拓展出1+3这个序列。
再者,如果某一个元素出现我次数不少于2次,那么就将这个元素的2倍作为一个新的元素来替换掉两个元素,这样1+1+2可以生成2+2,因为1出现了再次。
- 求正整数n所有可能的和式的组合
- 求正整数n所有可能的和式的组合
- 求正整数n所有可能的和式的组合
- 求正整数n所有可能的和式的组合
- 求正整数n所有可能的和式的组合
- 求正整数n所有可能的和式的组合
- 求正整数n所有可能的和式的组合
- 求正整数n所有可能的和式的组合。
- 求正整数n所有可能的和式的组合
- 求正整数 n 所有可能的和式的组合
- 正整数n的所有可能和式的组合
- JAVA:递归实现输出正整数和等于n的所有不增的正整数和式
- 用递归方法 实现 输出正整数和等于n的所有正整数和式
- 对于正整数N,输出其和等于N且满足以下限制条件的所有正整数的和式
- 求正整数n以内的所有素数
- 求小于正整数N的所有质数
- 给定一个正整数,求其分解成3个正整数的所有可能组合数
- n个布尔变量,打印所有可能的真值组合
- S3C2440从 NAND FLASH 启动原理
- oracle extract截取时间值函数
- WebDriver 里的拖拽实现
- RTSP 协议 简单介绍
- Visual Studio 2010自动化测试(
- 求正整数n所有可能的和式的组合
- 备忘 – IE6的十大Bug Fix
- 诺基亚X1-01 sim2卡要输入保密码
- Fedora17 快捷键打开终端
- Android开发错误汇总
- RTSP 协议解析举例
- openssl的man中文文档
- eclipse svn 修改文件后不显示修改文件的星号标示了
- DELPHI实现类似仿360桌面的程序界面