提供邢台专业做网站,安庆网站关键词优化,全国十大计算机培训机构,网站架构策划书原题链接#xff1a;1424 - 自然数的分解-东方博宜OJ
题目描述
给定自然数 n #xff0c;将其拆分成若干自然数的和。输出所有解#xff0c;每组解中数字按从小到大排列。相同数字的不同排列算一组解。
如#xff0c;读入整数 3 #xff0c;分解方案如下#xff1a;
…原题链接1424 - 自然数的分解-东方博宜OJ
题目描述
给定自然数 n 将其拆分成若干自然数的和。输出所有解每组解中数字按从小到大排列。相同数字的不同排列算一组解。
如读入整数 3 分解方案如下
111
12再比如读入整数 7 分解方案如下
1111111
111112
11113
11122
1114
1123
115
1222
124
133
16
223
25
34输入
一个整数 nn≤20
输出
n 可以分解的自然数和的方案
样例
输入
3
输出
1 1 1
1 2
来源
递归
标签
递归 C
#includebits/stdc.h
using namespace std;
const int maxnINT_MAX;
const int idata20005;
int a[idata];
bool judge[idata];
int cnt;
int n;
inline void print(int t)
{for(register int i1;it-1;i){couta[i] ;}couta[t]endl;
}inline void dfs(int y,int x)
{for(register int ia[x-1];iy;i){if(in){y-i;a[x]i;if(y0) print(x);else dfs(y,x1);yi;}}
}int main()
{cinn;a[0]1;dfs(n,1);return 0;
}