问题 1825 --数的划分(完善程序)

1825: 数的划分(完善程序)★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 524  解决: 349
[提交][状态][命题人:]

题目描述

将整数m分成n份,且每份不能为空,任意两种划分方案不能相同(不考虑顺序)。
例如:m=7,n=3,下面三种划分方案被认为是相同的。
1 1 5

1 5 1

5 1 1
问有多少种不同的分法。

#include<iostream>
using namespace std;
int m,n,a[100],ans=0;
void fen(int x,int y)
{
	if(y==1&&____(1)_____) 
	{
		a[1]=x;
		ans++;
	}
	else 
	{
		for(int i=_____(2)______;i<=x-y+1;i++)
		{
			a[y]=i;
			fen(____(3)_____,y-1);
		}			
	}
}
int main()
{
	cin>>m>>n;
	fen(m,n);
	cout<<ans;
	return 0;
}

输入

输入:m,n (6<m<=200,2<=n<=6)

输出

输出:一个整数,即不同的分法。
样例输入
Copy
7 3
样例输出
Copy
4

提示

来源

[提交][状态]