题目描述
输入自然数n,然后将其分拆成由若干数相加的形式,参与加法运算的数可以重复
输入
待拆分的自然数n ( 1 < n < = 50 )
输出
若干数的加法式子(注意观察输出的顺序)。
样例输入
7
样例输出
1+6
1+1+5
1+1+1+4
1+1+1+1+3
1+1+1+1+1+2
1+1+1+1+1+1+1
1+1+1+2+2
1+1+2+3
1+2+4
1+2+2+2
1+3+3
2+5
2+2+3
3+4
Source Code
#include <stdio.h>
int a[101],len,n;
void dfs(int step)//step是分解出来的数中从第一个数到当前数的和
{
if(step == n)//如果加起来的和等于要拆分的数
{
if(len == 1) //表示只分解了一个数,即没有分解(len代表分解出来数的个数)
{
return ;