将整数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; }