输入自然数n,然后将其拆分成由m个自然数相加的形式,参与加法运算的数可以重复。
样例输入
4 2
样例输出
4=1+3 4=2+2 4=3+1
#include<iostream>
#include<iomanip>
using namespace std;
int m, n, a[100];
void pr()
{
cout << m << "=";
for (int i = n; i >= 2; i--)
cout << a[i] << "+";
cout<<a[1]<<endl;
}
void fen(int x, int y)
{
if (y == 1)
{
a[1]=x;
pr();
}
else for (int i = 1; i <= x - y + 1; i++)
{
a[y] = i;
fen(x-i,y-1);
}
}
int main()
{
cin >> m >> n;
fen(m, n);
return 0;
}