整数划分问题.cpp

来自「经典算法之:连续邮资问题,全排列问题,有限期任务安排,整数划分问题,装载问题」· C++ 代码 · 共 22 行

CPP
22
字号
#include <iostream.h>

int q(int n, int m)
{//正整数n,加数不大于m的划分的个数
	if((n<1) || (m<1)) return 0;
	if((n==1) || (m==1)) return 1;
	if(n<m) return q(n,n);
	if(n==m) return q(n,m-1)+1;
	return q(n,m-1)+q(n-m,m);
}

int main()
{
	int n,m,x;
	cin>>n;
	cin>>m;
	x=q(n,m);
	cout<<x<<endl;
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?