整数划分问题将正整数n表示成一系列正整数之和
整数划分问题将正整数n表示成一系列正整数之和,n=n1+n2+……+nk n1>=n2>=………>=nk>=1;k>=1正整数n的划分数,记为p(n)。例如正整数6有如下11种不同的划分,所以p(6)=11在最大加数n1不大于m的划分个数记作q(n,m)。 q(n,m)=1, 当n=1,m=1;q(n,m)=q(n,n) 当n<m; q(n,m)=1+q(n,n-1) 当n==m;q(n,m)=q(n,m-1)+q(n-m,m) 当n>m
#include<iostream>
#include<algorithm>
using namespace std;
/*整数划分问题*将正整数n表示成一系列正整数之和,n=n1+n2+……+nk* n1>=n2>=………>=nk>=1;k>=1*正整数n的划分数,记为p(n)。* 例如正整数6有如下11种不同的划分,所以p(6)=11*在最大加数n1不大于m的划分个数记作q(n,m)。* q(n,m)=1, 当n=1,m=1;* q(n,m)=q(n,n) 当n<m;* q(n,m)=1+q(n,n-1) 当n==m* q(n,m)=q(n,m-1)+q(n-m,m) 当n>m*/
int q(int n,int m)
{if(n<1||m<1)return 0;if(n==1||m==1)return 1;if(n==m){return 1+q(n,m-1);}if(m>n){return q(n,n);}//一、n1<=m-1;q(n,m-1)// 二、n1=m// ********$$$$$$******当n1=m时,剩下q(n-m,m)return q(n,m-1)+q(n-m,m);
}int main()
{cout << q(6,6)<<endl;
}
整数划分问题将正整数n表示成一系列正整数之和相关推荐
- 递归--整数划分问题
问题描述: 将正整数n表示成一系列正整数之和:n=n1+n2+-+nk,其中n1≥n2≥-≥nk≥1,k≥1.正整数n的这种表示称为正整数n的划分. 问题1: 输出整数n的所有可能的划分,如: 输入: ...
- c++矩阵连乘的动态规划算法并输出_算法交流: 7215 简单的整数划分问题 【2.7基本算法之算法效率】...
[题目描述]7215:简单的整数划分问题 by Oler17WA 将正整数n 表示成一系列正整数之和,n=n1+n2+-+nk, 其中n1>=n2>=->=nk>=1 ,k&g ...
- 百练 04 简单的整数划分问题
百练 04 简单的整数划分问题 总时间限制: 内存限制: 100ms 65536kB 描述 将正整数nn表示成一系列正整数之和,n=n1+n2+-+nkn=n_1+n_2+-+n_k, 其中n1> ...
- 百练 03 复杂的整数划分问题
百练 03 复杂的整数划分问题 总时间限制: 内存限制: 200ms 65536kB 描述 将正整数nn表示成一系列正整数之和,n=n1+n2+-+nkn=n_1+n_2+-+n_k, 其中n1> ...
- Bailian4119 复杂的整数划分问题【DP】
4119:复杂的整数划分问题 总时间限制: 200ms 内存限制: 65536kB 描述 将正整数n 表示成一系列正整数之和,n=n1+n2+-+nk, 其中n1>=n2>=->=n ...
- Bailian4117 简单的整数划分问题【整数划分+记忆化递归】
4117:简单的整数划分问题 总时间限制: 100ms 内存限制: 65536kB 描述 将正整数n 表示成一系列正整数之和,n=n1+n2+-+nk, 其中n1>=n2>=->=n ...
- 整数划分问题 java
整数划分问题 题目: 将正整数n表示成一系列正整数之和:n=n1+n2+-+nk ,其中 ,k≥1.正整数n的这种表示称为正整数n的划分.请设计一个算法,求正整数n的不同划分个数或方案.例如正整数6有 ...
- c语言程序整数划分源代码,C语言实现整数划分问题
参照点击打开链接 1.题目描述:输入一个正数n,输出所有和为n连续正数序列. 例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5.4-6和7-8. 思路: 等差 ...
- 整数划分问题的递归算法-c语言,简单的整数划分问题(递归)
描述 将正整数n 表示成一系列正整数之和,n=n1+n2+-+nk, 其中n1>=n2>=->=nk>=1 ,k>=1 . 正整数n 的这种表示称为正整数n 的划分.正整 ...
- 【OpenJ_Bailian - 4117】简单的整数划分问题(dp)
题干: 将正整数n 表示成一系列正整数之和,n=n1+n2+-+nk, 其中n1>=n2>=->=nk>=1 ,k>=1 . 正整数n 的这种表示称为正整数n 的划分.正 ...
最新文章
- php验证 js验证邮箱格式,js和php邮箱地址验证的实现方法
- 插入的表单控制下拉框怎么设置_想要告别表单重复填写?这一个功能就够了
- SPOJ 287 Smart Network Administrator
- Linux shell脚本中的命令正确写法
- java lambda循环_在Java 8 Lambda中创建自己的循环结构
- React开发(269):事件的绑定-addEventListener
- 比较文本差异的工具_Linux 开发的五大必备工具 | Linux 中国
- git 远程仓库管理 分支创建、管理、查看、切换
- spark RDD,reduceByKey vs groupByKey
- 对字典转模型模块的理解
- 计算机操作员(高级)理论知识考试卷,计算机操作员高级试题
- object、param标签及页面显示PDF文件的方法
- 笛卡尔的爱心函数Java语言_笛卡尔情书的秘密——心形函数的绘制
- 愿你历尽千帆,归来仍少年
- 报错 SocketTimeoutException: null
- LeetCode 香槟塔
- php代码访问记录系统,对某PHP发卡系统代码审计记录
- matlab测量直流母线上的电压,基于模糊控制的有源滤波器直流母线电压控制
- Android_个人中心_修改个人信息
- ACP敏捷管理认证的含金量高吗?
热门文章
- windows下装ipython
- 1647120-04-4,c(Bua-Cpa-Thi-Val-Asn-Cys)-Pro-d-Arg-NEt2 acetate多肽
- 山东科技大学计算机控制系统期末考试试卷,山东科技大学 计算机操作系统试题b...
- day04 1113 红与黑(flood fill算法,即DFS,BFS)
- 虚拟摄像头之二: 配置v4l2loopback虚拟摄像头为前置或后置摄像头
- 小功能_mianBao_电影
- php里用钢笔画曲线,ps钢笔工具怎么抠图
- html闪星星特效,jquery和canvas炫酷星星闪烁特效插件
- 简单好听的id_简单好听的微信id
- C/C++编程:.msi文件和.exe文件的区别