昆山手机网站建设公司,免费私人网站建设平台,关键词搜索引擎,汽车网站建设背景题目描述
任何一个大于 11 的自然数 n#xff0c;总可以拆分成若干个小于 n 的自然数之和。现在给你一个自n#xff0c;要求你求出 n 的拆分成一些数字的和。每个拆分后的序列中的数字从小到大排序。然后你需要输出这些序列#xff0c;其中字典序小的序列需要优先输出。
输…题目描述
任何一个大于 11 的自然数 n总可以拆分成若干个小于 n 的自然数之和。现在给你一个自n要求你求出 n 的拆分成一些数字的和。每个拆分后的序列中的数字从小到大排序。然后你需要输出这些序列其中字典序小的序列需要优先输出。
输入格式
输入待拆分的自然数 n。
输出格式
输出若干数的加法式子。
样例输入
7 样例输出
1111111
111112
11113
11122
1114
1123
115
1222
124
133
16
223
25
34
说明/提示
数据保证2 ≤ n ≤ 8。
参考代码
#includebits/stdc.h
using namespace std;
int a[100],n,m;
void dfs(int d, int p, int sum)
{if(sum n) {for(int i 1; i d - 1; i) {couta[i];if(i ! d - 1)cout;}coutendl;return ;}for(int i p; i n - 1; i){ if(sum i n){ a[d] i;dfs(d 1, i, sum i);}}
}
int main()
{cinn;dfs(1, 1, 0);return 0;
}