C++ python STL 整数划分递归算法(即一个数分为几个数的和)
来源:互联网 发布:暗黑3网络加速器 编辑:程序博客网 时间:2024/05/29 09:44
def divide(m,r,out):#m:=max r:=remain
if(r==0):
return 1
m1=r
while m1>0:
if(m1<=m):
out.append(m1)
if(divide(m1,r-m1,out)):
print out
out.pop()
m1-=1
return 0
n=6
#out=[]
divide(n-1,n,out=[])
print out
上面代码输出将是:
[5, 1]
[4, 2]
[4, 1, 1]
[3, 3]
[3, 2, 1]
[3, 1, 1, 1]
[2, 2, 2]
[2, 2, 1, 1]
[2, 1, 1, 1, 1]
[1, 1, 1, 1, 1, 1]
基本上只要用STL里的vector来取代上面的列表out 就能得到相应的c++代码了~
- C++ python STL 整数划分递归算法(即一个数分为几个数的和)
- 【51nod 1201】【DP + 思维】整数划分【将N分为若干个不同整数的和,求划分数】
- 计算整数的划分数(递归)
- 整数的划分数
- 整数划分问题:输出一个整数的所有划分并统计总划分数
- C++ python STL 组合数递归算法(n个取m个数的组合数)
- 整数划分的递归算法
- 算法----数的划分
- C算法-求一个加上100和168后为完全平方数的整数
- 整数划分的非递归算法(C语言)
- 整数划分问题的递归算法-c语言
- c++: 递归算法整数划分问题
- 将一个非负十进制整数转换成二进制数,用非递归算法和递归算法来实现
- 递归算法---整数划分
- 递归算法-->整数划分
- 递归算法---整数划分
- 【源码】将一个整数的每位数分解并按逆序放入一个数组中(用递归算法)(C语言实现)
- 递归之划分数
- dom4j修改节点属性及写入文件
- StringBuilder 和 String 的区别
- DeepClone与ShadowClone(downmoon)
- new有三种用法
- 不要过分设计
- C++ python STL 整数划分递归算法(即一个数分为几个数的和)
- 我的程序语言实践
- 我是不是也要总结一下我的2007
- C++ python STL 组合数递归算法(n个取m个数的组合数)
- 如何利用Grub命令启动损坏的Linux系统
- test
- 从内存中加载DLL
- Mysql Memory引擎的简单应用
- domj4 API 创建与修改 XML 文档