整数划分问题.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 + -
显示快捷键?